問題タブ [indexed-view]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - MySQL でインデックス付きビューを使用することは可能ですか?
MySQL フォーラムで 2005 年の投稿を見つけましたが、それより新しい投稿はありません。それを踏まえると無理です。しかし、3〜4年で多くのことが変わる可能性があります。
私が探しているのは、ビューにインデックスを付ける方法ですが、表示されるテーブルにはインデックスを付けないままにする方法です。インデックス作成は書き込みプロセスに悪影響を及ぼし、このテーブルは非常に頻繁に書き込まれます (インデックス作成によってすべてが遅くなるまで)。ただし、このインデックスの欠如により、クエリが非常に遅くなります。
mysql - MySQL ビューは常にフル テーブル スキャンを実行しますか?
MySQL 5.1 のビューを使用するクエリを最適化しようとしています。ビューから 1 列を選択しても、常に完全なテーブル スキャンが実行されるようです。それは期待される動作ですか?
ビューは、以下の最初のクエリで指定したテーブルの SELECT "All Columns From These Tables - NOT *" です。
これは、ビューを構成するクエリからインデックス付きの列 PromotionID を選択したときの説明出力です。ご覧のとおり、ビューの出力とは大きく異なります。
ビューから同じものを選択したときの出力
sql-server - インデックス付きビューの代替
SQLサーバーのインデックス付きビューへの代替アプローチは何ですか?
ありがとう、サルマン・シェバズ。
sql-server - Sql Server 2005 エラーのインデックス付きビュー
Sql Server 2005 でビューにインデックスを追加しようとしたところ、次のエラーが発生しました。
過負荷になる可能性があるため、ここにあまり多くの情報を入れたくありませんでした。誰かが私に助けをくれるかどうか疑問に思っています。
エラーが表示された URL にアクセスしましたが、どこにも行きませんでした。完全なエラーは以下のとおりです。
すべての情報を提供していないため、本当の答えを出すことができないことは承知しています。申し訳ありません。
sql - このインデックス付きビューを高速化するにはどうすればよいですか?
私は単純なインデックス付きビューを持っています。それに対してクエリを実行すると、かなり遅いです。まず、スキーマとインデックスを示します。次に、単純なクエリ。最後に、クエリ プランの画面です。
更新: この投稿の下部にあるソリューションの証明。
スキーマ
これはそれがどのように見えるかです:-
私の udfToUriCleanText
は、さまざまな文字を空の文字に置き換えるだけです。例えば。すべての「#」文字を「」に置き換えます。
次に、これに2つのインデックスを追加しました:-
インデックス
主キー インデックス (つまり、クラスター化インデックス)
および非クラスター化インデックス
現在、これには約25,000行あります。何も大したことはありません。
次のクエリを実行すると、どちらも約 4 秒かかります。なんてこと?これは..基本的にインスタントです!
クエリ 1
クエリ 2 (別の where 句項目を追加)
私は何を間違えましたか?UDFは物事を台無しにしていますか? このビューにインデックスを付けたので、それが具体化されると思いました。そのため、その文字列列を計算する必要はありません。
これが役立つ場合は、クエリプランのスクリーンショットを次に示します:-
また、使用しているインデックスに注意してください。なぜそのインデックスを使用しているのですか?
その指数は…
ええ、何かアイデアはありますか?
更新 1: udf のスキーマを追加しました。
更新 2: 解決策
うん、ビューでインデックスを使用していなかったので、ビューを展開していないことを手動で確認する必要がありました。サーバーは Sql Server 2008 Standard Edition です。完全な答えは以下です。これが証拠です。WITH (NOEXPAND)
この問題を解決するのを手伝ってくれてありがとう:)
sql - 別のインデックス付きビューから選択する SQL Server 2008 でインデックス付きビューを作成することは可能ですか?
別のインデックス付きビューから選択する SQL Server 2008 でインデックス付きビューを作成することは可能ですか?
sql - インデックス付きビューはトランザクション中に更新されますか?
2つのテーブルtbTableOneとtbTableTwoから読み取るSQLServerインデックスビューvwIndexedViewがあるとします。
トランザクション内の2つのテーブルのいずれかでアクションを実行すると、インデックス付きビューはどうなりますか?すぐに更新されますか、それとも結果がフィードされる前にトランザクションをコミットする必要がありますか?
例えば:
最初のSELECTの結果は2番目のSELECTとは異なりますか?
sql-server - 外部結合のあるビューのMS-SQL2005フルテキストインデックス
全文索引を適用したいという見解があります。もちろん、フルテキストインデックスを可能にするには、一意のクラスター化インデックスが必要です。
残念ながら、外部結合を含むインデックス付きビューを作成できないことを学びました。問題は、私のビューにはこれらの外部結合が必要なことです。
これを実現する方法はありますか、それとも複雑なストアドプロシージャの作成に行き詰まりますか?
sql-server - SQL GROUP BY:インデックス付きビューの最新の更新レコードを取得する
インデックス付きビューを使用して行のバージョン管理を実行し、キーとタイムスタンプでレコードをグループ化し、max(timestamp)レコードを取得しようとしています。これは問題ありませんが、私が使用したクエリ(下のビューを参照)は自己結合を実行します。つまり、インデックス付きビューでは使用できません。これはパフォーマンスに不可欠だと思います。SCHEMABINDINGを使用してビューを正常に作成できるようにクエリを書き直す方法はありますか?
私は2005年を使用していますが、2008年のみのソリューションでも問題ありません。