0

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

我想出了这样的事情,但没有工作。

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

请帮我弄清楚这一点。我曾尝试在 PHP 中让多个查询一个接一个地运行,但是当我在等待 45 分钟后加载页面时,我放弃了。

谢谢,

4

1 回答 1

0

我假设这些表非常大,而且您也在进行未索引的查询.. 基本上必须为每一行计算子字符串。

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

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

但是,更好的选择是拥有一个 areaCodeInfosID 列并将其设置为 area_code_infos 表的外键

于 2012-09-06T03:58:34.797 回答