-1

データベースに varchar という 2 つのフィールドがあります。1 つはサイズ 50 で、もう 1 つはサイズ 2 です。2 つのフィールドを比較して選択する必要があります。最初にショートフィールドで比較してから、他のフィールドで比較した方がパフォーマンスが高いかどうかを知りたいです。それともまったく同じですか?

4

1 に答える 1

2

それはまったく違いがなく基本的にそれを制御することはできません. あなたが言う時:

where col1 = 'A' and col2 = 'ABC'

SQL エンジンは、好きな順序で自由に比較を行うことができます。実際、インデックス内の値を検索して 1 つの比較を行い、列内の結果の値に対して別の比較を行う場合があります。そのため、クエリで非常に似ているように見えるものでも、非常に異なる実行プランを持つ場合があります。

また、一般に、行に対する操作は、最初にデータを読み取る場合に比べて、わずかな労力で済みます。あなたの時間は、そのようなマイクロ最適化に浪費されています. コードをより速く実行したい場合は、全体像について考える必要があります。

于 2013-06-24T14:06:12.257 に答える