网站用什么语言,做别人公司的网站违法吗,wordpress添加vip角色,seo手机排名软件今天我们最后来讲一下设计索引的时候#xff0c;我们一般要考虑哪些因素。
另外还讲了字段基数的问题以及前缀索引的问题#xff0c;
那么今天接着来讲剩下的一些索引设计的原则。
首先假设你设计好了一个索引#xff0c;非常棒#xff0c;接着你在SQL里这么写#xff…今天我们最后来讲一下设计索引的时候我们一般要考虑哪些因素。
另外还讲了字段基数的问题以及前缀索引的问题
那么今天接着来讲剩下的一些索引设计的原则。
首先假设你设计好了一个索引非常棒接着你在SQL里这么写where function(a) xx你给你的索引里的字段a套了一个函数你觉得还能用上索引吗
明显是不行了。所以尽量不要让你的查询语句里的字段搞什么函数或者是搞个计算。
现在设计索引的时候需要注意的点都已经讲完了其实就是好好设计索引让你的查询语句都能用上索引同时注意一下字段基数、前缀索引和索引列套函数的问题尽量让你的查询都能用索引别因为一些原因用不上索引了。
接着我们来看看索引设计好之后接着你系统跑起来有数据插入也有查询的情况其实查询基本都能走索引一般问题都不会太大的但是插入就有点讲究了之前也跟大家说过其实你插入数据的时候他肯定会更新索引树。
你插入数据肯定有主键吧那有主键就得更新聚簇索引树你插入一条数据肯定会包含索引里各个字段的值吧那你的联合索引的B树是不是也要更新
对了你不停的增删改数据就会不停的更新你的索引树。
所以因为你插入的数据值可能根本不是按照顺序来的很可能会导致索引树里的某个页就会自动分裂这个页分裂的过程就很耗费时间因此一般让大家设计索引别太多建议两三个联合索引就应该覆盖掉你这个表的全部查询了。
否则索引太多必然导致你增删改数据的时候性能很差因为要更新多个索引树。
因为主键自增那么起码你的聚簇索引不会频繁的分裂主键值都是有序的就会自然的新增一个页而已但是如果你用的是UUID那么也会导致聚簇索引频繁的页分裂。
所以说以上就是我们本周要讲给大家听的索引设计的所有的原则希望大家以后在索引设计的时候多想一想上述原则接下来我们就给大家讲解电商平台的表设计以及索引设计的案例实战。