[解決済み】SQLステートメントをサーガブルにするのは何ですか?
2022-04-02 19:26:29
質問
定義によると(少なくとも私が見た限りでは)sargableとは、クエリーが使用する実行プランをクエリーエンジンに最適化させることが可能であることを意味します。 調べてみましたが、この件に関する回答はあまりないようです。 そこで質問ですが、SQLクエリをサーガブルにするもの、しないものは何でしょうか? 何かドキュメントがあれば、非常にありがたいです。
参考までに サルガモ
解決方法は?
クエリになる最も一般的なもの 非課税 の中にフィールドを含めることです。 機能 をwhere節で指定します。
SELECT ... FROM ...
WHERE Year(myDate) = 2008
SQLオプティマイザはmyDateにインデックスがあったとしても、それを使うことはできません。文字通り、テーブルのすべての行に対してこの関数を評価しなければならないのです。もっといい方法があります。
WHERE myDate >= '01-01-2008' AND myDate < '01-01-2009'
他の例もあります。
Bad: Select ... WHERE isNull(FullName,'Ed Jones') = 'Ed Jones'
Fixed: Select ... WHERE ((FullName = 'Ed Jones') OR (FullName IS NULL))
Bad: Select ... WHERE SUBSTRING(DealerName,4) = 'Ford'
Fixed: Select ... WHERE DealerName Like 'Ford%'
Bad: Select ... WHERE DateDiff(mm,OrderDate,GetDate()) >= 30
Fixed: Select ... WHERE OrderDate < DateAdd(mm,-30,GetDate())
関連
-
[解決済み] 式をデータ型datetimeに変換する際に算術オーバーフローエラーが発生する。(日付と時刻の表示中に...)
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] CSSは常にJavascriptより優先されるべきか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】SQL Server。クエリーは高速ですが、プロシージャから遅い
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 「ストアドプロシージャが見つかりませんでした
-
[解決済み] 更新時のSqlエラー : UPDATE ステートメントが FOREIGN KEY 制約と競合しています。
-
[解決済み] サブレポートが表示されない。サブレポートは別々に動作します - メインレポートとは連動しません
-
[解決済み] データベースのトランザクションログが満杯です。ログの領域が再利用できない理由を調べるには、sys.databases の log_reuse_wait_desc カラムを参照してください。
-
[解決済み] 階層テーブルの設計
-
[解決済み] SQL Server: caseステートメントでUniqueIdentifierを文字列に変換する
-
[解決済み] NVARCHAR(MAX)の最大文字数を教えてください。[重複しています]。
-
[解決済み] SQL ServerでBegin / End BlocksとGoキーワードを使用する?
-
[解決済み] SQL Server リンクサーバーのクエリ例
-
[解決済み] SQLですべてのNULLまたは空文字列の値を見つける方法