次の表記のうち、どちらが優れていますか?
SELECT id,name,data FROM table WHERE id = X
また
SELECT id,name,data FROM table WHERE id = X LIMIT 1
「LIMIT」は付けるべきではないと思います。
ありがとう!
一意の制約がある場合id
、それらはまったく同じになります。
一意の制約がない場合 (と呼ばれる列で非常に驚くべきことがわかりますid
)、どちらが優れているかは、何をしたいかによって異なります。
LIMIT
。LIMIT 1
。クエリを高速化するため、1 つのレコードをフェッチする場合でも、常に select ステートメントで LIMIT を使用してください。だから使用:
SELECT id,name,data FROM table WHERE id = X LIMIT 1
例:テーブルに1000個のレコードがある場合、使用する場合よりも
SELECT id,name,data FROM table WHERE id = X
そのIDが見つかったとしても、1000レコードをトラバースするよりもしかし、このようにLIMITを使用すると
SELECT id,name,data FROM table WHERE id = X LIMIT 1
最初のレコードが見つかったときに実行を停止するよりも。