WHERE
MySQLクエリの句にデータを配置する方法にパフォーマンス上の利点はありますか?たとえば、この例では、categoryid
列にインデックスが付けられています
SELECT something
FROM table
WHERE date
BETWEEN "date1"
AND "date2"
AND categoryid = "2"
VS
SELECT something
FROM table
WHERE categoryid = 2
AND date
BETWEEN "date1"
AND "date2"
パフォーマンスに違いはありますか?ありがとうございました
パフォーマンスが気になる場合は、インデックスについて考えてください。このクエリの場合:
SELECT something
FROM table
WHERE categoryid = 2 AND
date BETWEEN @date1 AND @date2 -- I'm assuming these are constants
にインデックスが必要です(categoryid, date)
。パフォーマンスが必要な場合は、これを実行する必要があります。MySQLは、WHERE
句内の条件の順序に関係なく、このインデックスを使用します。
インデックスのないクエリに関しては、違いはありません。とにかくクエリを実行するオーバーヘッドによって、評価の順序の違いが圧倒される可能性があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加