7

MySQL索引优化小记

 2 years ago
source link: https://www.hi-roy.com/posts/mysql%E7%B4%A2%E5%BC%95%E4%BC%98%E5%8C%96%E5%B0%8F%E8%AE%B0/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

MySQL索引优化小记

2017-07-24

有2种数据类型,一种重复率高、一种重复率低,选择这2种类型哪个建立索引好?为什么?

之前确实没考虑过这个问题,但觉得既然是使用空间换时间,数据结构本身重复率那么高索引的作用应该就不大了吧。

后来结束到家查看资料后,发现这个名词叫做"离散率"。对于DBA这个问题应该是最最基础的了。

建立索引的几个原则:

  1. wheregroup byon语句中出现的列。
  2. 最左前缀匹配。
  3. 离散度大的放到联合索引前面,比如a的离散度高于b,则使用index(a,b)。
  4. 索引列不参与计算。
  5. 索引字段越小越好。
  6. 尽量扩展索引而不是新建索引。(存疑)

索引的缺点:

  1. 额外占用磁盘,降低写操作性能。
  2. 修改表内容时候,索引需要更新。
Roy avatar
About Roy
野生程序猿,略懂Python,略懂Golang,略懂云计算,略懂大数据,略懂拳击游泳钓鱼,略懂钢琴吉他摄影。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK