sql >> データベース >  >> RDS >> Mysql

インデックスの作成で既存のインデックスを使用できますか?

    MySQLは通常、インデックスを追加するとテーブル全体を再構築するため、既存のすべてのインデックスも再構築されます。これは遅くなる可能性があります。

    唯一の例外は、InnoDBプラグインを使用してインデックスを追加することですが、そうではありません。

    私の知る限り、インデックスを作成するときは常に全表スキャンを実行しますが、別のインデックスと同じ(またはサブセット)列を持つインデックスを追加する場合は、インデックススキャンを実行できます。このようなインデックスは通常、列の順序が異なる場合にのみ役立ちます。

    ストックmysqlを使用すると、既存のインデックスも再構築されるため、インデックスが多いほど、新しいインデックスの作成に時間がかかります。

    プラグインを使えば、違いはないと思います。

    いずれにせよ、複数のインデックスを追加することを計画している場合は、一度に1つずつではなく、一度にすべてを追加する必要があります。



    1. タイプ'NHibernate.ByteCode.Castle.ProxyFactoryFactory、NHibernate.ByteCode.Castle'を読み込めません

    2. MySQLは1行のみを返します

    3. 複数のカテゴリに値を入れる方法

    4. 数値としてのSQL順序文字列