`
annan211
  • 浏览: 462337 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 分区查询优化

阅读更多

分区查询优化

  引入分区可以给查询带来一定的优势,但同时也会引入一些bug.
  
  分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。
  所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。
  
  可以通过查看explain执行计划,是否携带 partitions关键字来判断是否执行了分区过滤。
  
  使用条件 where year(date) = 2010 并不能过滤分区。
  mysql只能在使用分区函数的列本身进行比较时才能过滤分区,而不能通过表达式的值去过滤分区,即使这个表达式就是分区函数也不行。
  这就和查询中使用独立的列才能使用索引的道理是一样的。所以只需要将上面的查询等价的改为
  where date between 2010-01-01 and 2010-12-31 就可以过滤分区了。
  
  优化器在处理查询的过程中总是尽可能聪明的去过滤分区。例如,若分区表是关联操作中的第二张表,且关联条件是分区键,mysql就只会在对应的分区里匹配行,
  (explain 无法显示这种情况下的分区过滤,因为这是运行时的分区过滤,而不是查询优化阶段)
  
合并表
  合并表是一种过时的技术,可能会被淘汰删除。分区和优化器结合才是未来的趋势。
  
  

   请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1

 

 

 

 

分享到:
评论

相关推荐

    MySQL 分区

    MySQL分区是一种数据库优化技术,它将大型表分成更小、更易管理的部分,每个部分称为一个分区。这种技术有助于提高查询性能,特别是对于那些需要处理大量数据或执行复杂查询的应用程序。MySQL支持多种分区类型,包括...

    MySQL分区表自动创建及删除存储过程

    MySQL分区表是一种优化大型数据表查询效率的技术,它将一个大表分成多个逻辑上相连但物理上独立的部分,每个部分称为一个分区。分区可以按照不同的策略进行,如范围、哈希、列表或复合分区。这样做有助于提高数据...

    mysql高级优化查询

    根据提供的文件信息,我们可以深入探讨 MySQL 的高级优化查询这一主题,包括其查询缓存原理以及 MySQL 的内部机制等核心知识点。 ### 一、MySQL 查询缓存原理 #### 1.1 什么是查询缓存 查询缓存是 MySQL 中用于...

    MySQL分区分表方案实践手册

    《MySQL分区分表方案实践手册》是一本深入探讨MySQL数据库中分区与分表技术的专业书籍。MySQL作为广泛应用的关系型数据库管理系统,随着数据量的增长,性能优化成为了一个关键问题。分区分表是解决大数据存储和查询...

    创建mysql表分区的方法

    【MySQL 表分区详解】 MySQL 表分区是一种高级的数据组织技术,它允许将大型表分成较小、更易管理和处理的部分。这种技术对于处理海量数据,尤其是超过亿级别的数据集非常有效,可以显著提升查询性能和数据管理效率...

    MySQL 5.5.8 分区表性能测试

    分区表是大型数据库系统中优化查询性能的一种策略,通过将大表的数据逻辑上划分为更小、更易管理的部分。在MySQL 5.5.8中,对分区表的优化主要体现在以下几个方面: 1. **分区类型**:MySQL支持多种分区类型,包括...

    互联网公司为啥不使用mysql分区表

    "互联网公司为啥不使用mysql分区表" 在互联网公司中,mysql分区表是一个比较少用的技术,这是因为分区表存在一些缺陷和限制,使得互联网公司更多地选择自己分库分表来水平扩展数据库。 首先,分区表的设计需要考虑...

    mysql实现自动创建与删除分区

    MySQL数据库在大数据处理中扮演着重要角色,而分区技术是其优化查询性能的关键特性之一。本文将深入探讨如何实现MySQL的自动创建与删除分区,主要关注时间分区,并介绍相关存储过程和事件的设置。 首先,我们需要...

    mysql分区文档

    MySQL 分区是数据库管理系统中的一种优化策略,它将大型表的数据分布在不同的物理存储上,以提高查询性能和便于管理大量数据。分区的本质是将一张大表逻辑上分成多个部分,但用户在操作时仍然将其视为单个表。MySQL ...

    mysql 数据库表分区

    - 创建分区时,可以根据业务需求设置分区条件,如日期范围、类别等,以便优化查询。 - 删除分区允许清理过期或不再需要的数据,同时保持其他分区的完整性。 4. **索引与分区**: - 索引是提升查询速度的关键,但...

    mysql表分区

    MySQL表分区是数据库管理系统...在对数据库进行分区之前,需要评估数据的使用模式和表的大小,以及是否需要通过分区来实现数据的快速删除和查询优化。此外,选择合适的存储引擎和文件组织方式也是实现高效分区的关键。

    mysql5.6性能优化

    在MySQL中,查询优化是一项关键的技术。通过合理的查询优化,可以显著提高查询效率,降低数据库的负载。其中,`EXPLAIN`语句是一种常用的工具,用于分析SQL查询的执行计划。 ##### 使用`EXPLAIN` - **语法示例**:...

    Mysql优化之Zabbix分区优化

    总的来说,对Zabbix进行MySQL分区优化是一项有益于长期稳定运行的重要措施,它可以帮助我们更好地管理和优化监控系统的性能。但需要注意的是,任何优化策略都需要结合实际情况进行,包括硬件资源、Zabbix的使用模式...

    mysql查询优化之索引优化

    - **避免全表扫描**:通过优化查询语句,减少不必要的全表扫描,例如,避免在WHERE子句中使用NOT IN、!=、等操作符。 - **监控和分析**:定期检查EXPLAIN计划,分析索引的使用情况,使用MySQL的性能分析工具如pt-...

    mysql优化笔记+资料

    这些笔记涵盖了MySQL优化的主要方面,包括查询优化、SQL编写技巧、数据库设计、存储引擎选择、服务器配置、硬件升级、定期维护以及使用各种工具进行监控和调优。通过这些方法,你可以有效地提升MySQL数据库的运行...

    mysql性能优化.pptx

    MySQL性能优化是一个涵盖广泛的主题,涉及多个层面,包括SQL语句优化、索引优化、数据库表结构优化、系统级配置优化以及服务器硬件优化。以下是对这些方面进行详细说明: 1. **SQL语句优化** - **慢查询日志**:...

    mysql性能的优化

    MySQL性能优化是一个综合性的过程,涉及到SQL查询优化、数据库结构优化以及MySQL服务器配置等多个方面。通过上述方法和技术的应用,可以显著提高MySQL的运行效率,降低资源消耗,最终实现更好的用户体验和服务质量。

Global site tag (gtag.js) - Google Analytics