转换为加入

时间:2011-06-19 00:14:21

标签: php mysql sql left-join

我的查询效率很低,而且我认为我可以使用SQL JOIN来减少它。

以下是两个查询:

$data = $db->query("SELECT * from tbl_forums_threads WHERE tid = '$id'");
$threaddata = $data->fetch_assoc();
$dataset = $db->query("SELECT * from tbl_forums_posts WHERE tid = '$id'");
$thread = $dataset->fetch_assoc();

显然,他们有一个共同点:使用$ id。

我可以使用SQL JOIN,甚至LEFT JOIN吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

通过在每个表的tid列上创建索引,您可以获得比通过更改查询更好的改进。

具有基本where子句的单个表上的简单select不应该很慢;如果是,那可能是因为他们没有使用索引。在这种情况下,您只对一个字段进行过滤,因此这是唯一需要索引的可能性。

答案 1 :(得分:1)

1带有JOIN的SQL查询不一定比这样的简单查询快。

坚持这个imo。