1

oracle では、次のことができます。

 CREATE INDEX idx_1 ON table_1 ( func_1(col_1), func_2(col_2), func_3(col_3) );

しかし、mysql ではこれを行うことができません。

関数インデックスをサポートすることはそれほど複雑ではないと思います。

mysql がサポートしていないのはなぜでしょうか。誰も理由を知っていますか?

4

1 に答える 1

1

この機能のリクエストは、2004 年頃に行われました。Bug #4990 Functional Indexesを参照してください。

難しくないと思っていただけると幸いです。MySQL はオープン ソースであり、外部からの貢献を歓迎します。したがって、いつでもこの単純な機能をコーディングして、そのバグ ログにパッチを添付することができます。

それが行われていない理由は、どのプロジェクトでもすべての機能が行われている、または行われていないのと同じ理由です。開発者は、どの機能または改善が最大数のユーザーに利益をもたらすかについて最善の判断を下し、それらを優先します。

過去 5 ~ 8 年間に MySQL と InnoDB で行われたコア開発の多くは、マルチコア プロセッサ アーキテクチャのスケーラビリティに焦点を当ててきました。今よりかなり弱い。

于 2013-11-12T03:42:21.167 に答える