2014-12-04 3 views
0

У меня есть два запроса. Они идентичны?Сравнение 2 запросов (MySQL)

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 

Если да, то какой из них более эффективен?

+1

Первый недействителен. У вас не может быть 'USING' без' JOIN'. – Barmar

ответ

0

На мой взгляд, оба идентичны, как я знаю, что из этого синтаксиса:

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

Multiple стол Синтаксис:

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

Смежные вопросы