mysql入門から精通まで

2072 ワード

入門基礎編
深入り編
mysqlデータベースによるマルチテーブルクエリーの実装
sql言語では、joinでテーブルとテーブルの関連付けを実現し、onで結合テーブルのクエリー条件を指定します.たとえば、次のようにします.
#      ,   table1.*,table2.*              
SELECT * FROM (`user` LEFT JOIN address ON `user`.id=address.user_id)  LEFT JOIN user_info ON `user`.id=user_info.id;

#         ,              ,    .     
SELECT 
`user`.id,`user`.user_name,`user`.`password`,
address.province,address.city,address.street,
address.street_number,user_info.age,user_info.gender,user_info.hobby,user_info.company 
FROM
(`user` LEFT JOIN address ON `user`.id=address.user_id)
 LEFT JOIN user_info ON `user`.id=`user_info`.id;

精通編
sql最適化
  • テーブルの設計最適化では、設定初期にデータベースの仕様性だけでなく、ビジネス、パフォーマンスの影響も考慮します.たとえば、データベース・仕様の観点から複数のテーブルを分割する必要がある場合がありますが、ビジネスでは、膨大なデータの連合クエリーは単一のテーブルに比べて遅く、いくつかのフィールドを冗長化する必要がある場合があります.
  • sqlの最適化,特にマルチテーブルクエリを行う場合,INNER JOINを採用するか,LEFTJOINを採用するか,RIGHT JOINもOUTER JOINも性能テストで結論を出す必要がある.
  • プログラムで呼び出されたとき、いったい怠け者ロードを採用するのか、それとも怠け者ロードではないのか.
  • 最後にデータのキャッシュを使用するか、プログラムとデータベースの間にキャッシュを追加するか、一般的には良いデータベースキャッシュ
  • を使用することを推奨する.