Mysql多表关联查询,有索引和没索引的差距

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql多表关联查询,有索引和没索引的差距相关的知识,希望对你有一定的参考价值。

下面简单的用个实例来介绍,索引在多表查询中有多关键!

一、没有索引时同步数据:

1、查询代码如下(关联了九次):

技术分享

 

2、运行耗时(2分多钟,数据大概只有一万条):

1 Start sync mysqlData:---------------------------时间:2016-12-01 08:50:00
2 Success sync MysqlData:-------------------------同步数据成功!:2016-12-01 08:52:37

 

二:有索引时同步数据

1、给数据库脚本加上索引

1 KEY `v_ur_sys_dict_val_dict_id` (`dict_id`) USING BTREE

note: Key是索引的关键字,‘v_ur_sys_dict_val_dict_id‘ 是索引的名字,‘dict_id‘是主键, 最后使用树形结构的索引USING BTREE

 

2、运行耗时(还是跑一样的脚本,关联9张表,1w条数据,只使用了14秒) 

1 Start sync MysqlData:---------------------------时间:2016-12-01 09:10:00
2 Success sync MysqlData:-------------------------同步数据成功!:2016-12-01 09:10:14

 

三、总结:使用索引在数据库中是至关重要的,不然如果数据上百万条的话,那么多表查询可能会消耗资源过多导致服务器挂掉。

 

以上是关于Mysql多表关联查询,有索引和没索引的差距的主要内容,如果未能解决你的问题,请参考以下文章

Mysql索引explain执行计划

mysql索引

MySQL开发索引创建规范

mysql多表关联查询字段为空

5.2 MySql数据库_索引规约

Mysql多表left join关联查询全表扫描问题