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

MysqlInnoDBのパフォーマンスの最適化とインデックス作成

    あなたが持っていたMD5ハッシュの提案は非常に優れています-それはHighPerformanceMySQL2ndEdに文書化されています。それを機能させるためのいくつかの秘訣があります:

    CREATE TABLE urls(id NOT NULL主キーauto_increment、url varchar(255)not null、url_crc32 INT UNSIGNED not null、INDEX(url_crc32));

    一部のクエリは次のようになっている必要があります:

    SELECT * FROM urls WHERE url =' http://stackoverflow.com 'AND url_crc32 =crc32(' http://stackoverflow.com ');

    url_crc32は、インデックスで機能するように設計されています。WHERE句のurlは、ハッシュの衝突を防ぐように設計されています。

    私はおそらくmd5よりもcrc32をお勧めします。さらにいくつかの衝突が発生しますが、すべてのインデックスをメモリに適合させる可能性が高くなります。



    1. それらの間の距離で2つのポイントを追加するにはどうすればよいですか(SRID =32636)?

    2. ORDER BY FIELD、与えられたフィールドの順序がついに来る

    3. 範囲制約数値MySQL列:どのように?

    4. MySQLは選択した行のみを結合します