どのステートメントがより効率的であるか不思議でした。私はUUIDのリストをループしています(最大40 UUIDになる可能性があります)、毎回SELECTをしています。代わりに、私は使用する必要があります:複数選択wheres対one select OR
結果セットをループしますか?より優れた性能を有する
どのステートメントがより効率的であるか不思議でした。私はUUIDのリストをループしています(最大40 UUIDになる可能性があります)、毎回SELECTをしています。代わりに、私は使用する必要があります:複数選択wheres対one select OR
結果セットをループしますか?より優れた性能を有する
使用IN()
:
SELECT * FROM `player_table` WHERE `playeruuid` IN(uuid1,uuid2,uuid3);
他のその、ハード、それをテストすることなく、より効率的であるものを言うため。
理由を説明したいことがあります。 –
'OR'は' IN'に最適化されています。だから(少なくともいくつかのバージョンでは)パフォーマンスの違いはありません。 'FLUSH STATUS;を実行することでこれを証明することができます。 SELECT ...;セッションの状態を示す 'ハンドラ%'; ' –
ああ、私はかなりMySQLのため、これについてはよく分かりません。ありがとう! –
この場合は 'IN'を使います。 –
'uuid1'、' uuid2'、...これらは文字列リテラルか列ですか? –
@Prdp文字列リテラル –