我在代码中看到此查询:
INSERT INTO comments (post_id, user_id, table_code, content, author_id, pinged_id, date_time)
SELECT ?,?,?,?,?,?,?
FROM qanda qa, users u
WHERE qa.id=? and author_id IS NULL
limit 1;
我已经在上面写了查询。.现在,我相信, user u
查询中的内容是多余的。我对吗?
你知道我为什么要问这个问题吗?因为在我所有代码的后面总有一个原因。现在我不记得写这篇文章的原因了, users u
。这就是为什么我担心将其删除。
无论如何,要删除, users u
更改吗?还是完全多余?
由于author_id
属于qanda
表,因此隐式联接users
表没有任何作用。实际上,这是交叉连接,因为没有连接条件,这意味着它可能是真正的性能消耗。您可以尝试使用以下简化INSERT
语句:
INSERT INTO comments (post_id, user_id, table_code, content, author_id,
pinged_id, date_time)
SELECT ?,?,?,?,?,?,?
FROM qanda qa
WHERE qa.id=? AND author_id IS NULL
LIMIT 1
但这并不能解释users
表格最初在做什么。也许您是从其他人(或某物)继承了此查询的,并且有一次出于合理原因使用了联接。无论如何,现在就可以轻松地删除债务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句