口试官出的MySQL索引题目,这篇文章全给你办理!
服从高。索引列越多,通过索引筛选出的数据越少。有1000W条数据的表,有如下sql:select from table where col1=1 and col2=2 and col3=3,假设假设每个前提可以筛选出10%的数据,假如只有单值索引,那么通过该索引能筛选出1000W10%=100w条数据,然后再回表从100w条数据中找到切合col2=2 and col3= 3的数据,然后再排序,再分页;假如是连系索引,通过索引筛选出1000w10% 10% *10%=1w,服从晋升可想而知! 包围索引 包围索引是一种从帮助索引中就可以获得查询的记录,而不必要查询聚积索引中的记录,行使包围索引的一个甜头是帮助索引不包括整行记录的全部信息,以是巨细远小于聚积索引,因此可以大大镌汰IO操纵。包围索引的其它一个甜头就是对付统计题目有优化,我们看下面的一个例子。
假如是myisam引擎,Extra列会输出Select tables optimized away语句,myisam引擎已经生涯了记录的总数,直接返回功效,就不必要包围索引优化了。 假如是InnoDB引擎,Extra列会输出Using index语句,声名InnoDB引擎优化器行使了包围索引操纵。 2.2 索引提醒 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |