1

もう一度試してみます。

<>はsargable、<>はsargableではない、などと言う人を見かけましたが、申し訳ありませんが、説明が必要です。また、取得するのが不可能と思われるのは、<>を使用する不正なクエリと、別の演算子を使用するよりSARGableなクエリの例です。多くのクエリをSARGableにする方法の例を見てきましたが、<>演算子を使用する例はありません。

私はすでに一度これを尋ねようとしました、そしてそれは本当の質問ではないと彼らが思ったので人々の頭上にあるに違いありません、しかしそれは本当の質問であり、私は本当の答えが欲しいです、そして私が本当の答えを得るならば私は見ることができます保存されているすべてのプロシージャを使用して、変更するプロシージャをより適切に決定します。

ありがとう..

4

2 に答える 2

6

演算子<>はSARG可能ですが、比較しているものによっては、それがあまり役に立たない場合があります。

参照: http: //en.wikipedia.org/wiki/Sargable

「パフォーマンスをめったに改善しない引数可能な演算子:<>、IN、OR、NOT IN、NOT EXISTS、NOTLIKE」

のような演算子=は、データベースがインデックスから単一または限られた数のレコードを検索できるため、優れたパフォーマンスを提供する可能性が高くなります。演算子を使用する場合<>、データベースは多くの場合、関連するレコードを取得するためにインデックス全体をスキャンする必要があります。

データベースが<>演算子を使用してインデックスを使用できるクエリは、それが一意でないインデックスであり、列にいくつかの異なる値があるため、単一のインデックスだけでなく、インデックスを使用して多くのレコードを削除できる場合です。いくつかのレコード。

于 2013-03-18T18:00:17.800 に答える
0

ウィキペディアによると、パフォーマンスが向上することはめったにないSargable演算子です。

引数可能な演算子:=、>、<、> =、<=、BETWEEN、LIKE先頭に%を付けない

パフォーマンスをめったに改善しない引数可能な演算子:<>、IN、OR、NOT IN、

NOT EXISTS、NOT LIKE非引数演算子:先頭に%が付いたLIKE

http://en.wikipedia.org/wiki/Sargable

于 2013-03-18T17:56:44.657 に答える