最新消息:

冗余索引对查询效率的影响

未分类 admin 3103浏览 0评论

背景:

在一般的数据库书籍中,简述到如何合理创建索引时都会出现这么一段话:

“索引能提高sql的执行效率,但是过多不合理的索引也会影响数据库的性能”

过度索引是如何影响数据库的性能的呢?

1。 在执行sql之前,数据库会根据metadata信息决定该使用哪个索引,如果索引过多会影响这一步骤的效率。

2。 由于每次数据更新和插入都要更新索引,因此会影响相关操作的效率

而第一点就是本文的讨论重点所在。

过度索引是否真的会影响sql执行效率?

如果影响,程度是多大?

测试环境:
drop table if EXISTS test_index_performance;
CREATE TABLE test_index_performance (
id int primary key ,
col1 varchar(10),
col2 varchar(10),
col3 varchar(10),
col4 varchar(10),
col5 varchar(10),
col6 varchar(10),
col7 varchar(10),
col8 varchar(10),
col9 varchar(10),
col10 varchar(10)
)engine=innodb;
delimiter $$
create PROCEDURE insert_data_for_test_index_performance ()
begin
DECLARE total int default 100000;
DECLARE i int default 0;
truncate table test_index_performance;
while(i < total)
[…]

转载请注明:爱开源 » 冗余索引对查询效率的影响

您必须 登录 才能发表评论!