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

InnoDB(MySQL 5.5.8)は、数十億行の正しい選択ですか?

    あなたの質問に対する簡単な答えは「はい」です。InnoDBは数十億行のデータセットに最適です。

    可能性のある最適化のホストがあります。

    最も明白な最適化は、大きなバッファープールを設定することです。これは、InnoDBがデータとバッファープール内のインデックスをバッファーするため、バッファープールがInnoDBに関して最も重要なことの1つであるためです。 InnoDBテーブルのみを備えた専用のMySQLサーバーがある場合は、使用可能なRAMの最大80%をInnoDBで使用するように設定する必要があります。

    もう1つの最も重要な最適化は、プライマリとセカンダリの両方で、テーブルに適切なインデックスを設定することです(データアクセス/更新パターンを念頭に置いてください)。 (プライマリインデックスはセカンダリインデックスに自動的に追加されることに注意してください。)

    InnoDBには、データ破損からの保護、自動回復など、いくつかの追加機能があります。

    書き込みパフォーマンスの向上については、トランザクションログファイルを合計4Gまで設定する必要があります。

    もう1つできることは、テーブルをパーティション化することです。

    bin-log-formatを「row」に設定し、auto_inc_lock_modeを2に設定することで、パフォーマンスを向上させることができます(これにより、自動インクリメント列に挿入するときにinnodbがテーブルレベルのロックを保持しないようになります)。

    >

    私に連絡できる具体的なアドバイスが必要な場合は、喜んでお手伝いさせていただきます。



    1. pyodbcとmySQL

    2. DATABASEPROPERTYEX()を使用して、SQLServerのデータベース設定を返します

    3. SSMS2016エラーAzureSQLv12 bacpacのインポート:パスワードなしのマスターキーはサポートされていません

    4. MySQL複合インデックスを注文するための最適な方法はありますか?