假设我们有这样一张商品表,字段为ID自增主键,分类,名称,详情,数据为100万条。里面有五个分类:衣服,零食,美妆,玩具和电子。
假入我们想搜索分类等于衣服并且名称包含羽绒服的数剧,我们的sql语句会是这样的:
select * from 商品表 where 分类=‘衣服‘ and 名称 like '%羽绒服‘
如果我们没建立分类索引的话,这条语句数据库引擎会遍历 100万条数据,判断每一条是否符合条件。
如果我们给分类创建一个聚集索引的话,数据库引擎会生成一个B+树,如下,那么我们的查询的会有限查询分类=衣服的借点,再查询此节点下的衣服,查询次数变为20万,大大减少了查询数量。