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

MySQLのBIGINT列にインデックスを追加するのに役立ちますか?

    非常に大きなテーブルがある場合、インデックス付けされていない値に対する検索は非常に遅くなる可能性があります。 MySQLの用語では、この種のクエリは「テーブルスキャン」になります。これは、テーブルの各行に対して順番にテストする必要があるという言い方です。これは明らかに最善の方法ではありません。

    インデックスを追加すると、読み取りに役立ちます 速度は上がりますが、支払う価格は少し遅くなります書き込み 速度。最適化を行う際には常にトレードオフがありますが、あなたの場合、読み取り時間の短縮は計り知れませんが、書き込み時間の増加はわずかです。

    大きなテーブルにインデックスを追加するにはかなりの時間がかかる可能性があるため、本番システムに適用する前に、本番データに対してこれをテストしてください。 ALTER TABLEの期間中、テーブルはロックされる可能性があります ステートメント。

    いつものように、EXPLAINを使用してください クエリで実行戦略を決定します。あなたの場合、それは次のようになります:

    EXPLAIN SELECT * FROM table1 WHERE my_big_number=19287319283784
    


    1. 製品名のURLを書き換えます

    2. 特定の形式でOracleにタイムスタンプを挿入する方法

    3. 関数内のmysqli/mysqlクエリが機能しない

    4. 致命的なエラー:未定義のメソッドmysqli_stmt ::fetch_array()の呼び出し