越来越喜欢做数据优化了,之前有个学生找我,说他们查询一个视图特别慢需要五十多分钟大约几十万的数据量,他不知道什么优化,几十万的数据不可能会查询这么慢,这时候我拿到数据开始分析了,首先看下有没有建立索引,好家伙,居然十来个表九个表没有建立索引,唯一一个表建立了索引,还是建立在id上面的,但是查询关联用的是code,聚集索引在表中只能创建一个,表中哪个字段能快速定位到表中数据,就定义为聚集索引,视图查询中code是唯一的,满足聚集索引的条件,id虽然设置了聚集索引,但是查询时并没有使用id关联,查询效率大大降低,这时候删除id的主键,以code为主键,code作为聚集索引
其他九个表也按照同样的原理,设置主键,创建唯一聚集索引。
设置完成后,视图几十万数据只需要一秒钟就查询出来了。
其他九个表也按照同样的原理,设置主键,创建唯一聚集索引。
设置完成后,视图几十万数据只需要一秒钟就查询出来了。