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

mysqlテーブルでインデックスを作成する列を設定すると、O(1)が確実に検索されますか?

    MySQLのMyISAMまたはInnoDBストレージエンジンでのルックアップはいずれもO(1)検索ではありません。これらのストレージエンジンは、B+ツリーを使用してインデックスを実装します。彼らができる最善のことはO(log 2 n)検索。

    MEMORY ストレージエンジンは、デフォルトでHASHインデックスタイプとB+Treeインデックスタイプを使用します。 HASHインデックスのみがO(1)ルックアップを実現できます。

    どちらの場合も、インデックス付き列のデータ型によってこれが変更されることはありません。

    MySQLインデックスの詳細については、 http://devを参照してください。 mysql.com/doc/refman/5.1/en/mysql-indexes.html



    1. Herokuの外部データベースをフォローする

    2. psycopg2は私のPostgreSQLインスタンスを見ることができません

    3. Oracleテーブルのグループごとに最大x行になるように行を削除します

    4. ActiveRecord destroy_allに時間がかかるのはなぜですか?