mysql - 2个查询的比较(MySQL)

标签 mysql sql

我有两个疑问。它们相同吗?

DELETE FROM t1 
USING t1 
LEFT JOIN t2 using(key) 
WHERE t2.key is null

DELETE t1 
FROM t1  
LEFT JOIN t2 using(key) 
WHERE t2.key is null

如果是,哪一个效率更高?

最佳答案

在我看来,两者是相同的,正如我从以下语法中了解到的:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

多表语法:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    tbl_name[.*] [, tbl_name[.*]] ...
    FROM table_references
    [WHERE where_condition]

或者:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    FROM tbl_name[.*] [, tbl_name[.*]] ...
    USING table_references
    [WHERE where_condition]

至于关心哪一个更有效率?这取决于我们使用它的地点和时间的情况。

阅读此内容以获得更好的体验:http://dev.mysql.com/doc/refman/5.1/en/delete.html

关于mysql - 2个查询的比较(MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27291191/

相关文章:

mysql - 在 MySQL 中使用 INTERVAL 和 CURDATE

mysql - Rails 最佳实践 : Constants for model ids, 或 find_by 或 where 查询?

sql - 多次插入相同的数据

sql - 在 1 个查询中获得问题和答案

javascript - 如何为聊天室显示从数据库接收的一系列消息

php - CodeIgniter 数据库访问的奇怪问题

mysql - sql创建格式

mysql - 从 MySql 移植到 SQLite 代码后,VIEW 创建不起作用

mysql - SQL 查询 - 分组依据不起作用

java - 如何选择选定的月份数据