我在 MySQL 4.x DB 中有以下 3 个表:
- 主机:(300.000 条记录)
- id (UNSIGNED INT) 主键
- 名称(VARCHAR 100)
- 路径:(6.000.000 条记录)
- id (UNSIGNED INT) 主键
- 名称(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 分钟才能运行。有谁知道我如何加快查询速度?
提前致谢。尼古拉斯