索引选择
2024-02-22 08:57:49 15 举报
AI智能生成
索引选择
作者其他创作
大纲/内容
birthday、country列不需要建立索引,只要为出现在WHERE子句中的name列创建索引
只为用于搜索 、排序或者分组的列创建索引
无法排序,无法快速查找
假如基数为1,列值全部相等
要做回表的记录更多,性能损耗较大
二级索引列重复值较多
为那些列的基数大的列建立索引
考虑列的基数(某一列中不重复数据的个数)
数据类型越小,查询进行的比较操作越快(CPU层面)
数据类型越小,索引占用的存储空间越小
索引列的类型尽量小
长字符串列占用更多的存储空间
字符串比较时占用更多的时间
长字符串列建索引
只对长字符串的前几个字符进行索引
相同前缀的字符,无法对后边字符不同的记录排序
无法使用索引排序,只能用文件排序
不包含列的完整信息
索引字符串值的前缀
无法使用my_col索引
WHERE my_col * 2 < 4
会使用my_col索引
WHERE my_col < 4/2
让索引列在比较表达式中单独出现
自己插入主键,可能存在页分裂,存在性能损耗
让主键具有AUTO_INCREMENT,让存储引擎自己为表生成主键
主键插入顺序
索引:dx_name_birthday_phone_number
索引:idx_name,索引多余
冗余和重复索引
索引选择
0 条评论
下一页