(六十六)设计索引的时候,我们一般要考虑哪些因素呢?(下)
创始人
2024-05-31 08:05:18

今天我们最后来讲一下设计索引的时候,我们一般要考虑哪些因素。

另外还讲了字段基数的问题以及前缀索引的问题,

那么今天接着来讲剩下的一些索引设计的原则。

首先假设你设计好了一个索引,非常棒,接着你在SQL里这么写:where function(a) = xx,你给你的索引里的字段a套了一个函数,你觉得还能用上索引吗?

明显是不行了。所以尽量不要让你的查询语句里的字段搞什么函数,或者是搞个计算。

现在设计索引的时候需要注意的点都已经讲完了,其实就是好好设计索引,让你的查询语句都能用上索引,同时注意一下字段基数、前缀索引和索引列套函数的问题,尽量让你的查询都能用索引,别因为一些原因用不上索引了。

接着我们来看看索引设计好之后,接着你系统跑起来,有数据插入也有查询的情况,其实查询基本都能走索引一般问题都不会太大的,但是插入就有点讲究了,之前也跟大家说过,其实你插入数据的时候,他肯定会更新索引树。

你插入数据肯定有主键吧,那有主键就得更新聚簇索引树,你插入一条数据肯定会包含索引里各个字段的值吧,那你的联合索引的B+树是不是也要更新?

对了,你不停的增删改数据,就会不停的更新你的索引树。

所以因为你插入的数据值可能根本不是按照顺序来的,很可能会导致索引树里的某个页就会自动分裂,这个页分裂的过程就很耗费时间,因此一般让大家设计索引别太多,建议两三个联合索引就应该覆盖掉你这个表的全部查询了。

否则索引太多必然导致你增删改数据的时候性能很差,因为要更新多个索引树。

,因为主键自增,那么起码你的聚簇索引不会频繁的分裂,主键值都是有序的,就会自然的新增一个页而已,但是如果你用的是UUID,那么也会导致聚簇索引频繁的页分裂。

所以说,以上就是我们本周要讲给大家听的索引设计的所有的原则,希望大家以后在索引设计的时候多想一想上述原则,接下来我们就给大家讲解电商平台的表设计以及索引设计的案例实战。

相关内容

热门资讯

全球资本为何“链”上北京? 近日,2026中关村论坛年会期间,2026年投资北京大会举行。34个重大项目集中签约,总金额达619...
伊朗首都遭大规模袭击,以色列:... CCTV国际时讯  新华社据CCTV国际时讯,当地时间今天(3月28日)凌晨,伊朗首都德黑兰多地遭多...
4月7日开赛,最低票价48元!... 公众号转载太原发布稿件,须申请授权。3月27日,WTT(世界乒乓球职业大联盟)常规挑战赛太原站202...
亿纬锂能申请正极极片相关专利,... 3月28日消息,国家知识产权局信息显示,惠州亿纬锂能(维权)股份有限公司申请一项名为“一种正极极片及...
亿纬锂能申请负极片制备相关专利... 3月28日消息,国家知识产权局信息显示,惠州亿纬锂能(维权)股份有限公司申请一项名为“负极片及其制备...