第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

MySQL隨筆05_索引(下)

標簽:
MySQL

一、覆盖索引

非主键索引查询,若结果所需要的字段只在主键索引上有,则需要回到主键搜索树,此过程称为 回表

非主键索引查询,若结果所需要的字段在当前索引树上已经存在,可直接提供查询结果,不需要回表。即在查询中,非主键索引已经“覆盖了”查询需求,称为 覆盖索引

如下图,T表,ID为主键,k为普通索引,有如下两个查询语句:

select * from T where k=3;	-- 需要回表
select ID from T where k=3; -- 不需要回表

file

由于覆盖索引可以减少树的搜索次数,显著提升查询性能,所以使用覆盖索引是一个常用的性能优化手段

对于某些高频数据查询请求,可以创建联合索引,以便用到覆盖索引,从而不需要回表查,提升查询性能。

二、最左前缀原则

B+树 索引结构,可以利用索引的“最左前缀”,来定位记录。

只要满足最左前缀,就可以利用索引来加速检索。

这个最左前缀可以是联合索引的最左N个字段,也可以是字符串索引的最左M个字符。

在建立联合索引的时候,如何安排索引内的字段顺序

评估标准 ——索引的复用能力。

第一原则 ——如果通过调整顺序,可以减少维护一个索引,那么这个顺序就是需要优先考虑采取的。

三、索引下推

对于不符合最左前缀的部分的索引优化处理。

MySQL5.6之前,只能从非主键索引上 回表 到主键索引上找出数据行,在进行数据比对过滤。

MySQL5.6引入索引下推优化,在索引遍历过程中,对索引中包含的字段做判断,直接过滤掉不满足条件的记录,减少回表次数。

四、小结

在满足语句需求的情况下, 尽量少地访问资源是数据库设计的重要原则之一。

在使用数据库的时候,尤其是在设计表结构时,也要以减少资源消耗作为目标。

参考资料:

  1. 深入浅出索引(下)
    本文由博客一文多发平台 OpenWrite 发布!
點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
5
獲贊與收藏
1

關(guān)注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消