当前位置:  开发笔记 > 后端 > 正文

SQL查询:大表之间的内连接优化

如何解决《SQL查询:大表之间的内连接优化》经验,为你挑选了1个好方法。

我在MySQL 4.x DB中有以下3个表:

主持人:(300.000条记录)

id(UNSIGNED INT)PRIMARY KEY

名称(VARCHAR 100)

路径:(6.000.000条记录)

id(UNSIGNED INT)PRIMARY KEY

名称(VARCHAR 100)

网址:(7.000.000条记录)

host(UNSIGNED INT)PRIMARY KEY <---链接到hosts.id

path(UNSIGNED INT)PRIMARY KEY <---链接到paths.id

如您所见,模式非常简单,但问题是这些表中的数据量.

这是我正在运行的查询:

SELECT CONCAT(H.name, P.name)
FROM hosts AS H
INNER JOIN urls as U ON H.id = U.host
INNER JOIN paths AS P ON U.path = P.id;

此查询工作正常,但需要50分钟才能运行.有没有人知道如何加快查询速度?

提前致谢.萨科



1> Mitch Wheat..:

也许你应该包含一个WHERE子句?或者您真的需要所有数据吗?

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有