私は Web プロジェクト (asp.net) で約 6 か月間働いています。最終製品がまもなく公開されます。プロジェクトでは、SQL Server をデータベースとして使用します。大量のデータを使用してパフォーマンス テストを行った結果、データが大きくなりすぎると、たとえば 200 万行になるとパフォーマンスが低下することが示されました (タイムアウトの問題、応答の遅延など)。最初は完全に正規化されたデータベースを使用していましたが、現在はパフォーマンスの問題により部分的に正規化されています (結合を減らすため)。まず、その判断は正しいですか?さらに、データサイズが非常に大きくなった場合に可能な解決策は何ですか? のクライアントは今後増加しますか?
さらに追加したいと思います:
- 200 万行はエンティティ テーブルであり、関係を解決するテーブルにはさらに大きな行があります。
- データ + no の場合、パフォーマンスが低下します。利用者が増える。
- 頻繁に使用されるクエリを特定した後、非正規化が行われました。
- また、大量の xml 列と xquery も使用しています。これが原因でしょうか?
- トピックから少し外れましたが、私のプロジェクトの一部の人々は、動的 SQL クエリはストアド プロシージャ アプローチよりも高速であると言っています。彼らは、その主張を証明するために何らかのパフォーマンス テストを行いました。私はその逆だと思います。頻繁に使用されるクエリの一部は動的に作成されますが、他のほとんどのクエリはストアド プロシージャにカプセル化されています。