1 億相当の注文テーブルは 5 つのテーブルに分割できます。そのため、各テーブルには 2,000 万のデータのみが含まれ、元のテーブルと同じ圧力になります。サブテーブルは、特定の条件に従って分割する必要があります。ここでは、テーブルは地域に従って分割できます。どのテーブルを制御するかを制御するミドルウェアが必要です。 table は必要なデータを見つけるために table に移動します。
ミドルウェア: メインテーブルの自動インクリメント ID をミドルウェアとして使用します (どのフィールドがミドルウェアに適していますか? 一意である必要があります)
配布方法は?メイン テーブルに挿入した後、ID が返され、この ID とテーブルの数に基づいて剰余が取得され、残りがどちらかのテーブルにデータが挿入されます。
注: サブテーブルの ID はメイン テーブルの ID と一致している必要があります。
将来的には、挿入操作のみがメイン テーブルを使用します。変更、削除、読み取りには使用する必要はありません。
関連する学習の推奨事項:
2、メッセージ キューが生成される歴史的な理由
メッセージ キューの特徴: まず、 first out
実行された SQL ステートメントは、最初にメッセージ キューに保存され、その後、スムーズかつ非同期でデータベースに順次挿入されます。 アプリケーション: Sina、最初にインスタント コメントをメッセージ キューに入れてから、SQL を挿入します。スケジュールされたタスクを通じてメッセージ キュー内のステートメントを順番に変更します。データベース
#Redis キューはメイン テーブルとサブテーブルのデータの一貫性を保ちます
変更が完了すると、メイン テーブルのデータが変更され、 redis キュー
MySQL 分散サブテーブル (クエリ、削除)
クエリはサブテーブルのみをクエリする必要があり、テーブル全体をクエリする必要はありません
#タイミング タスク:
# mysql 分散データベースの分割
データベースの分割に関するアイデア
##
注: データベースを操作した後は、データベース接続を閉じる必要があります。そうしないと、mysql はデータベースが常に接続されていると認識します。同じデータベース
またはモジュラスを取得して、どの構成ファイルをロードしてどのデータベースに接続するかを決定します
原理は新しい
原理は同様です
削除
実行キュー
データをキャッシュに入れて、データベースのオーバーヘッドを節約します。まずキャッシュ内で確認します。見つかった場合は、直接取り出します。見つからない場合は、データベースで確認してから、キャッシュ。
情報を編集した後はキャッシュを削除する必要があります。そうしないと、変更されたデータの代わりにキャッシュされたデータが常に読み取られます
#
以上がPHP と MySQL を組み合わせて数千万のデータ処理を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。