本文详细介绍性别不适合索引的题和一些mysql性别字段不适合做索引相关的话题,希望对大家有帮助!
性别不适合索引
本文为排列短文,重要推荐36条来源一线的MySQL数据库开拓实战经验,每一一条经历暗地里都是血淋林的教育,如有一条让您有所获得好处,本文的目标就到达了啦。
本文将36条军规作了以下分类
一.焦点军规(5)
两.字段类军规(6)
三.索引类军规(5)
四.SQL类军规(15)
五.商定类军规(5)
为了防止珍藏不看,让我们更有耐性看下来,印象更透彻难忘些,小编将按以上分类分5次分-别公布这一些内容,本文是这个里面的第3篇,推荐索引类军规
郑重恰当增加索引• 郑重恰当增加索引
改良查
放慢更新
索引不-是越多越好
• 能不加的索引尽力不加
综合评价数据密度和数据分布
最棒不凌驾字段数20%
• 联合焦点SQL优先思考笼罩索引
• 举例
不-要给“性别”列建立索引
• 区分度
单字母区分度26
4字母区分度26*26*26*26=456,976
5字母区分度
26*26*26*26*26=11,881,376
6字母区分度
26*26*26*26*26*26=308,915,776
• 字符字段必需建前缀索引
`pinyin` varchar(100) DEFAULT NULL COMMENT '小区拼音',
KEY `idx_pinyin` (`pinyin`(8)),
) ENGINE=InnoDB
不在索引列作运算• 不在索引列举行数学运算或者函数运算
没法运用索引
致使全表扫描
• 举例
BAD:select * from table WHERE to_days(current_date) – to_days(date_col) <= 10
GOOD: select * from table WHERE date_col >= DATE_SUB('2011-10-22',INTERVAL 10 DAY);
自增列或者全局ID作INNODB主键• 对主键建设聚簇索引
• 二级索引存储主键值
• 主键不应更新修正
• 按自增顺着规律插进值
• 忌用字符串做主键
• 聚簇索引割裂
• 保举用自力于营业的AUTO_INCREMENT列或者全局ID生成器作代办主键
• 若不指定主键,InnoDB会用惟一且非空值索引取代
• 线上OLTP体系(线下体系另论)
外键可节约开发量
有分外开支
逐行操纵
可‘抵达’其余表,意味着锁
高并发时简单死锁
• 由程-序确保管束
索引类军规小结• 郑重恰当增加索引
• 字符字段必需建前缀索引
• 不在索引列作运算
• 自增列或者全局ID作INNODB主键
• 尽力不必外键
今天性别不适合索引和mysql性别字段不适合做索引的话题就讲到这里了,希望对大家有所帮助。
No Comment