問題タブ [query-optimization]
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 - SQL Server ログインの nolock ヒントを強制する方法
特定のユーザーによって発行されたすべてのトランザクションに nolock ヒントを強制する方法を知っている人はいますか? サポート チームが本番システムにクエリを実行するためのログインを提供したいのですが、サポート チームが行うすべてのことに対して強制的にロックを解除して保護したいと考えています。SQL Server 2005 を使用しています。
sql-server - 大規模データベースの処理
私は Web プロジェクト (asp.net) で約 6 か月間働いています。最終製品がまもなく公開されます。プロジェクトでは、SQL Server をデータベースとして使用します。大量のデータを使用してパフォーマンス テストを行った結果、データが大きくなりすぎると、たとえば 200 万行になるとパフォーマンスが低下することが示されました (タイムアウトの問題、応答の遅延など)。最初は完全に正規化されたデータベースを使用していましたが、現在はパフォーマンスの問題により部分的に正規化されています (結合を減らすため)。まず、その判断は正しいですか?さらに、データサイズが非常に大きくなった場合に可能な解決策は何ですか? のクライアントは今後増加しますか?
さらに追加したいと思います:
- 200 万行はエンティティ テーブルであり、関係を解決するテーブルにはさらに大きな行があります。
- データ + no の場合、パフォーマンスが低下します。利用者が増える。
- 頻繁に使用されるクエリを特定した後、非正規化が行われました。
- また、大量の xml 列と xquery も使用しています。これが原因でしょうか?
- トピックから少し外れましたが、私のプロジェクトの一部の人々は、動的 SQL クエリはストアド プロシージャ アプローチよりも高速であると言っています。彼らは、その主張を証明するために何らかのパフォーマンス テストを行いました。私はその逆だと思います。頻繁に使用されるクエリの一部は動的に作成されますが、他のほとんどのクエリはストアド プロシージャにカプセル化されています。
database - 非常に大きなデータセットを持つ関連付けられたテーブルの妥当なクエリ時間はどれくらいですか?
StackOverflow ポッドキャストでは、No . 19で、Joe は、すべてのクライアントに対して 1 つのデータベースではなく、クライアントごとに 1 つのデータベースを持つという Fogcreek の決定について説明しています。それはちょっと私に次のことを考えさせます。
- 1000 人のユーザーがいると仮定します。
- 各ユーザーには100 個のクライアントがあります。
- 各クライアントには1000 個の製品があります。
つまり、1000 x 100 x 1000 = 100,000,000 個の製品がユーザーに関連付けられることになります。ここで、あるユーザーとそのクライアントのすべての製品に対して結合テーブル クエリを実行する場合、この目的のために 1 つのデータベースのみを使用すると、妥当なクエリ時間はどれくらいになるでしょうか?
アップデート
たぶん、私の質問は十分に明確ではありませんでした。上記で説明したように、データセットを使用してあらゆる種類のファンキーなクエリ (最小、最大、グループなど) を実行する必要があると仮定すると、複数のデータベース戦略を使用する方が理にかなっている点まで遅い (またはそうでない) でしょうか。 . 1 DB/クライアント、データベース シャーディングなど
sql-server - Hints in Sql Server
Are hints really necessary for every sql statement? We have a dba who is anal about it and asks us to put hints on every select and update statements in our stored procs. Is this really necessary?
sql-server - クエリ プラン オプティマイザーは、結合/フィルター処理されたテーブル値関数でうまく機能しますか?
SQLSERVER 2005 では、大きなテーブルのサブセット データに対して任意の集計を実行する便利な方法として、テーブル値関数を使用しています (日付範囲などのパラメーターを渡します)。
大規模なクエリ内でこれらを結合された計算として使用していますが、クエリ プラン オプティマイザーがすべての条件でうまく機能するかどうか、または大規模なクエリでそのような計算をネスト解除する方がよいかどうか疑問に思っています。
- 意味がある場合、クエリ プラン オプティマイザーはテーブル値関数のネストを解除しますか?
- そうでない場合、手動でネストを解除することで発生するコードの重複を避けるために、何をお勧めしますか?
- もしそうなら、実行計画からどのようにそれを特定しますか?
コードサンプル:
.
.
サンプルが理にかなっていることを願っています。
ご協力ありがとうございました!
sql - Joel Spolsky 記事からの SQL の質問
漏れやすい抽象化に関するJoel Spolsky の 記事から:
[C]特定の SQL クエリは、他の論理的に同等のクエリよりも何千倍も遅くなります。これの有名な例は、結果セットが同じです。
これの詳細わかる人いますか?
optimization - postgresでのSeqスキャンとビットマップヒープスキャンの違いは何ですか?
Explain コマンドの出力で、「Seq Scan」と「Bitmap heap Scan」という 2 つの用語を見つけました。この 2 種類のスキャンの違いを教えてください。(私は PostgreSql を使用しています)
mysql - フィールドを utf8 に変更すると、クエリに 2 倍の時間がかかるのはなぜですか?
私はもともと自分のフィールドを に設定していましたがlatin1_swedish_ci
、これを (フィールドとテーブルの両方) に変更したutf8_general_ci
ところ、クエリが ~1.8 秒から ~3.3 秒になったことがわかりました。フィールドにインデックスがあり、インデックスを再作成しました(削除してから追加します)。フィールドが order by 句で使用されています。
問題があるかもしれないか、それともこれが正常なのか、何か考えはありますか?
MySQL 5.0 を実行しています。
mysql - ORDER BY を高速化するために必要なオプションは何ですか?
次のクエリがあります。
order by を削除すると、クエリに 0.005 秒かかります。order by を使用すると、クエリに 1.8 ~ 1.9 秒かかります。に索引がありますclient_name
。
他に何が速度を改善しますか?
編集: c.id は主キーですが、client_project に複数のレコードが存在する可能性があるため、各 ID に対して複数のレコードが生成される場合があります。また、distinct を削除すると、クエリで 0.1 秒の差が生じます。
追加:これが私のクライアントテーブルです:
MySQL 5.0 の使用
php - MySQLとPHPを使用してスレッド内の投稿数を確認する最速の方法
たとえば、フォーラムの特定のスレッドにある投稿の数を確認しようとすると、どちらが速いのか疑問に思いました。するべきか...
(a)特定のスレッドIDを持つデータベース内の各投稿を調べ、行数を数えます
また
(b)スレッドが作成されるたびに、スレッドデータベースの別の列に1つ追加し、その単一の行をクエリします
ありがとう。