请问这样的情况应该添加复合索引还是单个索引?
记录表t 列若干
id (标识,主键), level(优先级 1~5), f1, f2, f3 ...
现在如果要执行
update t set f1 = 5
where id > = ... and id <= ... and level = ...
请问应该添加 level 索引还是应该添加 (id,level) 的复合索引?
哪个效率更高?
(id 已经是聚集索引了)
多谢!
------解决方案--------------------建单个索引
id已经有聚集索引了再建一个非聚集有意义吗?
索引本来就是占空间的,利用索引查询的速度跟索引页的大小是有直接关系的
你的索引页太大有时候还不如直接扫描查询来的快
如果没必要不要建复合索引
------解决方案--------------------应该是 level +id 聚集索引 level在前 id在后