2019-11-13

分区:

在数据量超大的时候,B-tree 索引就无法起作用了。除非索引是覆盖查询,否则数据库服务器需要根据索引扫描的结果回表,查询所有符合条件的记录,如果数据量巨大,这将产生大量随机I/O 。另外索引维护的代价也非常高。

 理解分区时还可以将其当作索引的最初形态,以代价非常小的方式定位到需要的数据在哪一片“区域”。在这片区域中,你可以做顺序扫描,可以建索引,还可以将数据缓存到内存

为了保证大量数据的可扩展性,一般有两个策略:

   全量扫描数据,不要任何索引

   索引数据,并分离热点

分区查询:一个很重要的原则是:即使在创建分区时可以使用表达式,但在查询时却只能根据列来过滤分区。

MYSQL 全文索引  和普通查询不同,这类查询自动按照相似度进行排序。在使用全文索引进行排序的时候,MYSQL无法再使用索引排序。

MySQL 判断缓存命中的方法很简单:缓存存放在一个引用表中,通过一个哈希值引用,这个哈希值包括了如下因素,即查询本身、当前要查询的数据库、客户端协议的版本等

    当要查询的表被LOCK TABLES锁住时,查询仍然可以通过查询缓存返回数据。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MySQL优化 MySQL优化从哪些方面入手: (1)存储层(数据) 构建良好的数据结构。可以大大的提升我们S...
    宠辱不惊丶岁月静好阅读 7,278评论 1 8
  • 前面的章节我们介绍了如何设计最优的库表结构、 如何建立最好的索引, 这些对于高性能来说是必不可少的。 但这些还不够...
    好好学习Sun阅读 7,539评论 0 38
  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 4,268评论 0 3
  • MySQL不权威总结 欢迎阅读 本文并非事无巨细的mysql学习资料,而是选择其中重要、困难、易错的部分进行系统地...
    liufxlucky365阅读 7,563评论 0 26
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,796评论 0 9