oracle では、次のことができます。
CREATE INDEX idx_1 ON table_1 ( func_1(col_1), func_2(col_2), func_3(col_3) );
しかし、mysql ではこれを行うことができません。
関数インデックスをサポートすることはそれほど複雑ではないと思います。
mysql がサポートしていないのはなぜでしょうか。誰も理由を知っていますか?
oracle では、次のことができます。
CREATE INDEX idx_1 ON table_1 ( func_1(col_1), func_2(col_2), func_3(col_3) );
しかし、mysql ではこれを行うことができません。
関数インデックスをサポートすることはそれほど複雑ではないと思います。
mysql がサポートしていないのはなぜでしょうか。誰も理由を知っていますか?
この機能のリクエストは、2004 年頃に行われました。Bug #4990 Functional Indexesを参照してください。
難しくないと思っていただけると幸いです。MySQL はオープン ソースであり、外部からの貢献を歓迎します。したがって、いつでもこの単純な機能をコーディングして、そのバグ ログにパッチを添付することができます。
それが行われていない理由は、どのプロジェクトでもすべての機能が行われている、または行われていないのと同じ理由です。開発者は、どの機能または改善が最大数のユーザーに利益をもたらすかについて最善の判断を下し、それらを優先します。
過去 5 ~ 8 年間に MySQL と InnoDB で行われたコア開発の多くは、マルチコア プロセッサ アーキテクチャのスケーラビリティに焦点を当ててきました。今よりかなり弱い。