MySQL查询:两个SELECT或一个LEFT Join?

时间:2014-07-17 10:16:49

标签: php mysql sql performance

数据库中的两个SELECTs或单个SELECT with LEFT Join之间是否存在差异?

我受到每小时查询次数的限制,我正在开发自己的应用程序。

"SELECT * FROM table"代表一个查询?

"SELECT * FROM table LEFT JOIN another_table ON table.column=another_table.column2'"也代表一个查询?

UPDATEINSERTDELETE是否被视为查询?

非常感谢。如果我的帖子不好,我可以删除。

4 个答案:

答案 0 :(得分:2)

如果您的查询数量有限,则LEFT JOIN更好,因为它只有一个查询(一个连接到数据库)。是的,UPDATEINSERTDELETE也是查询。但您可以使用单个查询插入多个条目。

答案 1 :(得分:1)

是的,加入表是一个查询。拆分该查询并单独执行将花费更多时间。

答案 2 :(得分:1)

LEFT JOIN更好,因为它只有一个查询,只需要一个与数据库的连接。

SELECTUPDATEDELETEINSERT都是查询

答案 3 :(得分:1)

使用较少的查询比使用更少的查询几乎总是更好,因此在您的情况下,使用连接比运行2查询更好。

但是,您应该将索引添加到table.columnanother_table.column2,以确保它不会影响您的效果。

当然,所有查询,UPDATEDELETEINSERT都被视为查询,而不仅仅是SELECT