心と学習ベースの[予約]データベース

出典:https://www.liaoxuefeng.com/wiki/1177760294764384

  1. 主キーとしてサービスに関連するすべてのフィールドを使用せず
  2.  

     それは、テーブルに複雑の上昇をもたらすために必要ななければ、我々は、主キーを使用しないようにしよう

  3. 外部キー制約は、データベースのパフォーマンスが低下するように、スピードの追求のためのインターネットアプリケーションの大半は、ロジックの正確さを保証するだけのアプリケーション自体によって、外部キー制約を設定しません。この場合、class_id普通の列が、それはそれの外で重要な役割を果たしました。
  4. :多くの関係は、実際には、中間テーブルを介して、二多くの関係に関連付けられた対多の関係が形成されている、二対多関係によって実現されています
  5. 大きなテーブルが1つの目的は、分離するために、多くの場合、常に読み取りフィールドを読んでいない、より高いパフォーマンスを得るために、2つのテーブルに分割されますいくつかのアプリケーションがあります。例えば、利用者基本情報テーブルのための大規模なユーザーテーブルに分割するuser_infoと、ユーザ詳細情報テーブルをuser_profiles、時間のほとんどは、のみ照会する必要があるuser_infoあなたが照会する必要はありません、テーブルをuser_profiles使用すると、クエリの速度を向上させることができるように、テーブルを。
  6. インデックスは、行または列の複数の値を事前に選別するリレーショナルデータベース内のデータ構造です。インデックスを使用することで、データベース・システムは、テーブル全体をスキャンするのではなく、直接レコードが大幅クエリの速度を高速化、基準を満たして検索する必要はありませんさせることができます。
  7. 効率指数は、かどうかインデックス列のハッシュ値は、その列の値互いにより異なる場合、より高いので、効率指数に依存します。逆に、同じ値の列、多数の記録がある場合gender、列、記録された値の約半分M、他の半分はF、従って、意味をなさないその列にインデックスを作成します。あなたはテーブルの上に複数のインデックスを作成することができます。インデックスの利点は、クエリの効率を向上させることです、欠点は、挿入、更新しており、記録時間を削除するには、インデックスを変更する必要があるので、より多くの指標、挿入、更新、および記録に遅いペースを削除します。主キーの場合は、そのリレーショナルデータベースは自動的にプライマリキーインデックスを作成します。主キーが唯一絶対的な保証となりますので、主キー索引の効率的な使用が最も高いです。
  8.  なければFROM句のSELECT文が便利なアプリケーションを持って、データベースへの現在の接続が有効であるかを決定するために使用されます。多くの検出ツールを実行するSELECT 1;テスト・データベース接続を。

  9. OFFSETクエリの最大数を超えると、文句はありませんが、空の結果セットを取得します。

    MySQLでは、LIMIT 15 OFFSET 30それはまたと略記することができますLIMIT 30, 15

    使用しLIMIT <M> OFFSET <N>て、ページング時にN、より多くの、クエリの効率が低下し、低くなります。

  10. 集計クエリ:SELECT COUNT(*)FROM学生;パケット集約:SELECT COUNT(*)NUM学生グループからCLASS_ID BY。
  11.  

     

  12.  

     

     

     

  13.  

     

     

     

  14. 動作するように、全体として多機能ステートメントは、データベーストランザクションと呼ばれています。すべてのデータベース・トランザクションがすべて成功またはすべてが失敗する可能性があるトランザクションの範囲内で動作できるようにします。トランザクションが失敗した場合、効果は、データベースのデータへの変更はありませんように、これらのSQLの実装なしだろう。
  15.  

     

  16. ダーティリード(ダーティー読み取り)
  17. ファントムを読みます:

     

     

  18.  

     

 

おすすめ

転載: www.cnblogs.com/jiading/p/11454834.html