Techioz Blog

自動インデックス作成をサポートするデータベースはありますか?

概要

データベースがクエリ頻度に基づいて自動的にテーブルのインデックスを作成しないのはなぜですか?データベースとデータベースが受信するクエリを分析し、自動的に作成するツール、または少なくとも作成するインデックスを提案するツールは存在しますか?

私は特に MySQL に興味がありますが、他のデータベースにも興味があると思います。

解決策

これは私がスタックオーバーフローで見た中で最高の質問です。残念ながら答えはありません。 Google の bigtable は適切な列に自動的にインデックスを付けますが、BigTable では任意の結合が許可されていないため、問題の領域ははるかに小さくなります。

私ができる唯一の答えは次のとおりです。

ある日、誰かが「なぜコンピューターは私のコードを分析して、最も頻繁に実行されるコード部分をコンパイルして静的に型付けできないのですか?」と尋ねました。

今日、人々はこの問題を解決しています (例: FF3.1 の Tamarin)。リレーショナル データベースの「自動インデックス作成」も同じ種類の問題だと思いますが、それほど優先度は高くありません。今から 10 年後は、データベースにインデックスを手動で追加することは時間の無駄だとみなされるでしょう。今のところ、私たちは遅いクエリを監視し、オプティマイザーを実行することにこだわっています。