mysql 索引详解:
在mysql 中,索引可以分为两种类型 hash索引和 btree索引。
什么情况下可以用到B树索引?
1.全值匹配索引
比如:
orderID="123”
2.匹配最左前缀索引查询
比如:在userid 和 date字段上创建联合索引。
那么如果输入 userId作为条件,那么这个userid可以使用到索引,如果直接输入 date作为条件,那么将不能使用到索引。
3.匹配列前缀查询
比如: order_sn like ‘134%' 这样可以使用到索引。
4.匹配范围值查询
createTime>'2015-01-09' and createTime<'2015-01-10'
5.精确匹配左前列并范围匹配另外一列
比如:
userId=1 and createTime>'2016-9-18'
6.只访问索引的查询,称为覆盖索引,及索引包括查询列的数据。
BTREE索引的限制
1.如果不是按照索引的最左列开始查找,则无法使用索引。
比如创建联合索引:
orderId ,createTime 字段创建联合索引,如果只是输入 createTIme的条件,没有orderid的条件,那么将不能使用此索引。
2.使用索引时不能跳过索引的列。
三列:
日期,姓名,电话 组成列和索引,如果查询时 只输入 日期 和电话,那么只能使用日期作为索引进行过滤。
3.NOT IN 和 <> 操作无法使用索引。
4.如果查询中有某个列的范围查询,则其右边所有列都无法使用索引。
hash 索引的特点
hash索引是基于hash表实现的,只有查询条件精确匹配hash 索引中的所有列时,才能使用hash索引。只能是等值查询。
对于hash索引中的所有列,存储引擎都会为每一行计算一个hash码,hash索引中存储的就是hash码。
限制:
1.必须两次读取,先读取hash 找到对应的行,再读取对应的行数据。
2.hash索引无法用于排序。
3.只支持精确查找,不支持部分索引查找,也不支持范围查找。
hash冲突:
hash 索引不能使用于选择性很差的字段,而要用在比如 选择性强的列上创建hash索引。
比如:不要在性别字段上创建hash索引。
为什么要使用索引?
1.索引大大减少存储引擎需要扫描的数据量。索引小于数据大小。
2.索引可以帮助我们进行排序以避免使用临时表。索引是有顺序的。
3.索引可以把随机的I/0 变为 顺序的IO
索引是不是越多越好?
1.索引会增加写操作的成本
2.太多的索引会增加查询优化器和选择时间。
建立索引的策略
1.索引列上不能使用表达式或函数
比如:
select * from product where to_days(out_date) –to_days(current_date)<=30,out_date为索引列。
改成:
select* from product where out_date<date_add(current_date,interval 30 day)
2.索引大小不能超过一定值。
inodb 索引列 大小为 200个长度。
3.前缀和索引列的选择性。
create index idx_NAME on table (account);
4.联合索引
如何选择索引列的顺序。
1.经常会被索引的列。
2.选择性高的里的列的优先。
3.对小的列创建索引。
感谢阅读此文,希望能帮助到大家,谢谢大家对本站的支持!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]