我的查询效率很低,而且我认为我可以使用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吗?
谢谢!
答案 0 :(得分:2)
通过在每个表的tid
列上创建索引,您可以获得比通过更改查询更好的改进。
具有基本where子句的单个表上的简单select
不应该很慢;如果是,那可能是因为他们没有使用索引。在这种情况下,您只对一个字段进行过滤,因此这是唯一需要索引的可能性。
答案 1 :(得分:1)
1带有JOIN的SQL查询不一定比这样的简单查询快。
坚持这个imo。