来自子查询的mysql查询一直挂起

时间:2012-09-06 03:27:36

标签: php mysql

您好我有一个mysql数据库,我想要的只是从第一个表查询获取第二个表的值

我已经想到了类似的东西但是没有用。

select src, dst_number, state, duration 
from cdrs, area_code_infos
where SUBSTRING(cdrs.src,2,3) = area_code_infos.`npa`;

请帮我解决这个问题。我已经尝试在PHP中一个接一个地运行多个查询,但是当我在45分钟的等待时间后加载页面时,我放弃了。

谢谢,

1 个答案:

答案 0 :(得分:0)

我认为这些表格非常大,而且您还在进行无索引查询..基本上必须为每一行计算子字符串。

每当您进行联接时,您都希望确保两个已连接的字段都已编制索引。

一个选项是创建另一个包含子字符串计算的列,然后在其上创建一个索引。

但是,更好的选择是使用areaCodeInfosID列并将其设置为area_code_infos表的外键