【MYSQL】大表と大事務がもたらす問題


前言
対照的に、どのような場合のデータベース・テーブルを「大きなテーブル」と呼ぶことができますか?
  • 1テーブルのデータが千万行を超えると、データベースに影響を及ぼす
  • テーブルデータファイルが巨大である場合、テーブルデータファイルが10 Gを超える(データ値がハードウェアに対して)
  • .
    大きなテーブルの影響
    クエリーへの大きなテーブルの影響
    スロークエリー:必要なデータを一定時間でフィルタリングするのは難しい(Eg:注文の表示、ソースの少なさ、区分度の底、大量のディスクIO、ディスク効率の低下、スロークエリー)
    大きなテーブルがDDL操作に与える影響
    1、インデックスの作成に時間がかかる
    リスク:
    MYSQL   < 5.5        
    MYSQL   >= 5.5               
    

    2、テーブル構造の修正に長時間のロックが必要
    リスク:
               
             
    

    データベース内の大きなテーブルの処理方法
    1、分庫分表1枚の大きい表を複数の小さい表に分ける
    難点:
           
                  
    

    2、大表の履歴データのアーカイブ
    メリット:
               

    難点:
            
                
    

    事務とは何ですか.
  • トランザクションは、データベース・システムが他のすべてのファイル・システムと区別される重要な特性の1つである
  • です.
  • トランザクションは、原子間SQL文のセット、または独立した作業ユニット
  • です.
    トランザクション要件の適合:原子間、一貫性、独立性、持続性
    トランザクションの原子性
    1つのトランザクションは、トランザクション全体のすべての操作がすべてコミットされたか、すべて失敗したかのいずれかの最小作業単位と見なされなければなりません.1つのトランザクションでは、一部の操作のみが実行されることはできません.
    Eg:
    1、              2000 
    2、           2000 
    3、          2000 
    

    トランザクション全体のすべての操作は、すべてコミットに成功するか、すべて失敗してロールバックされます.
    トランザクションの一貫性
    コンシステンシとは、トランザクションがデータベースをコンシステンシ状態から別のコンシステンシ状態に変換し、トランザクションの開始前とトランザクションの終了後にデータベース内のデータの整合性が破壊されないことを意味します.
    トランザクションの独立性
    独立性には、コミットが完了するまで他のトランザクションには表示されないデータベース内のデータの変更が必要です.
    SQL規格で定義されている4つのレベル(独立性が低いから高い)(同時性が高いから低い)
        (READ UNCOMMITED)
        (READ COMMITED)
        (REPEATABLE READ)
        (SERIALIZABLE)
    

    トランザクションの永続性
    トランザクションがコミットされると、その変更は常にデータベースに保存され、システムがクラッシュしてもコミットされた変更データは失われません.
    大きな事務とは何ですか.
    実行時間が長く、操作データが多いトランザクション
    リスク:
           ,           
               
         ,        
    

    大きなトランザクションをどのように処理しますか?
  • 一度に多くのデータを処理することを避ける
  • トランザクションで不要なSELECTアクション
  • を削除
    もし本文があなたに役立つなら、個人の公衆番号に注目してください.ありがとうございます.