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

どのmysqlパーティショニングモデルをいつ使用するか

    発生しているパフォーマンスの問題の種類によって異なります。

    MySQL 5.1のパーティショニングでは、主キーの最初のビットのみをパーティショニングできます。つまり、便利な形式のパーティショニングを使用する場合は、複合主キーを使用することが望ましい場合がよくあります。

    最も一般的なユースケースの1つは、古いデータを期限切れにすることです。これは、パーティション化されていない場合には非常にコストがかかる可能性があります。その場合、主キーを日付/時刻で開始し、その上にパーティションを作成する必要があります。

    次に、プログラムで古いパーティションを削除することで行を期限切れにすることができます。

    その他の場合は、一般的なクエリがパーティションプルーニングの恩恵を受けることができる場合です。

    パーティショニングに関するすべてのパフォーマンスの問題を修正できるわけではないことに注意してください。それは魔法ではありません。パーティションプルーニングの恩恵を受けないクエリの場合、すべてのパーティションをクエリする必要があります。 MySQLはこれを並行して実行しないため、通常、パーティション化されていないテーブルを使用するのと同じくらい低速です。

    1. パフォーマンスの問題を正確に特定します
    2. それらを修正するのにどれだけの改善が必要かを判断します
    3. 他のユースケースで許容できるパフォーマンスの低下を決定します
    4. さまざまな異なるセットアップの実稼働グレードのハードウェアで実稼働サイズのデータ​​をテスト、テスト、テスト、および再テストします
    5. 満足するまで繰り返します。
    6. 関連する機能テストを実行します。リリース!


    1. casperjsを使用してWebページをスクレイピングしている間に取得したテーブルデータを保存する

    2. 毎日の収益分配に基づいて国に修正値を分割する

    3. 内部結合を使用したSQLDELETE

    4. mysqlからの大量のデータを処理する