2

データベース チューニングとデータベース クエリ最適化の正確な違いを誰か教えてもらえますか?

ウィキペディアで次のリンクを読みました。

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

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

私の理解によると、データベースのチューニングは他に何もないように見えますが、それはデータベースクエリの最適化です。私はまだ混乱しています

2つの違いは正確には何ですか?

4

3 に答える 3

5

データベースのチューニングとは、データベース自体のチューニングを指します。ストレージとメモリへのアクセス。さまざまなバッファとランタイム パラメータの構成。インデックスを使用したスキーマの最適化、(非) 正規化、スキーマ オブジェクトのストレージ パラメーターなど。

クエリの最適化は、一度に 1 つのステートメントのみに関係します。ステートメントの再構築、インデックスとマテリアライズド ビューの作成、ヒントの追加、統計の更新が必要になる場合があります。

2 つの間には重複がありますが (データベースのパフォーマンスが向上すると、単一のステートメントも同様に高速になる可能性があります)、しばしば矛盾する目的があります。一度に 1 つのステートメントをチューニングすると、多くのインデックスが作成される可能性がありますが、各インデックスはそのテーブルへの書き込みのためにデータベースに少し余分な負荷をかけるため、実際には全体的なパフォーマンスが低下する可能性があります。

于 2012-05-29T16:02:04.253 に答える
1

クエリの最適化は、データベース チューニングのサブセットであると言えます。パフォーマンス チューニングに関する一般的な本を見ると、通常、クエリのチューニングに関連する章は 1 つしかありません。他の章は、パーティショニング、インデックス作成、負荷テスト、ロックとブロック、ハードウェア、メモリ、スキーマなどに関するものです。

于 2012-05-29T15:54:09.450 に答える
1

クエリの最適化はクエリ自体に関連していることを理解しています。たとえば、実装が不十分な結合を改善したり、不要なフィールドを削除したりできます。分析対象のクエリのみに影響するもの。

データベースのチューニングには、サーバー全体が含まれます。たとえば、インデックス作成、クエリの負荷、データベースのパーティション分割や異なるディスクの異なるファイル グループへの分割などの IO に関連することさえあります。

于 2012-05-29T15:59:43.283 に答える