-1

假设我有一个由 fields 组成的复合索引(commentId, journalEntryId, owning_comment_id )

现在假设我有以下查询:

UPDATE comments c 
    SET c.acceptedAsAnswer = isAnswer 
WHERE c.id = commentId
AND c.journal_entry_id = journalEntryId 
AND c.owning_comment_id IS NULL; 

如您所见c.owning_comment_id,应该是NULL. 这种情况下数据库还会使用复合索引吗?

4

1 回答 1

0

这不能按预期工作:

c.owning_comment_id = NULL

相反,使用

c.owning_comment_id IS NULL

否则,复合索引应该起作用。(并且该索引中列的顺序无关紧要。)

您提出的查询不完整 - 是什么cd?请修复查询并限定每一列。可能还有其他问题。

于 2020-09-12T18:25:06.917 回答