レビュー
1.データベースとは何ですか
2.SQLインストール
3.ユーザー認証
4.データベースの各種操作
1.図書館
2.表
- データタイプ
- 外部キー
多くの
多くの多くの
マンツーマン
- インクリメント
3.ライン
並べ替え:ORDER BY
パケット
条件
でも、テーブル
一時テーブル
通配符
ページング
組み合わせ
4.ビュー
5.トリガー
6.機能
7.ストアドプロシージャ
カーソル
業務
動的SQLの実行
8.pymysql
1.ストアドプロシージャが呼び出されます
2.conmmit
3.SQL注射、として注釈SQL -
学びます
1.インデックス
1.役割
1.制約
2.加速検索
2.
1.通常のインデックス:アクセラ検索
2.主キーのインデックスは:+を繰り返すことはできません+加速ではありません空の検索
3.ユニークインデックス:+は、検索加速繰り返すことはできません
4.関節動作:(プライマーの組み合わせ指数)
- UNITED一意のインデックス
- 主キー索引
- 合同総索引
3.加速検索
なしランキング:フロント見つけるために一度バックアップします
インデックス:
インデックス列によると、検索速度の増加に対応するファイルを作成します
インデックスカテゴリ:
hash索引
単一値速いです
遅いの範囲を探します
B-Treeインデックス
二進木
4.インデックス
1.追加の特別なデータ構造ファイルが保存されます
2.クエリ速い、遅い、挿入、更新を削除
3.ヒットのインデックス
選択* xxはどこからOO = 'A' 命中
* xxはどこからOO「aa_」ノーヒットのような選択
4.SQL声明
一般的な指標
テーブル名(列)の-createインデックスXX
テーブル名(列)のインデックスXX -drop
インデックスのみ
テーブル名に-create一意のインデックスXX(コラム)
テーブル名(列)に一意のインデックスxxを-drop
コンポジットインデックス
1.最も左のプレフィックス一致
userinfo3にインデックスix_name_emailを作成する(名前、電子メール)
ヒット
userinfo3から選択*名= 'アレックス
userinfo3どこ名= 'アレックス' とemail'sss' SELECT * FROM
あなたはヒットすることはできません
userinfo3からどこemail'sss' *を選択
2.組み合わせ指数効率>インデックス結合
5.名詞
インデックスをカバー
- インデックスファイルに直接データを取得します。
ここで、NAME = 'アレックス'(名索引)userinfo3から-select名
インデックス結合
- 複数の別個の指標を組み合わせて使用
userinfo3どこから名=「アレックス」とID = 11 *を選択(名前、ID、インデックスを作成しました)
6.インデックス・ルックアップ列を頻繁に作成します
1.インデックスを作成します。
2.ヒットのインデックス
状況がリストにいくつかの共通のインデックスを打つことができません
指標としてメールに、前記プライマリ・キーIDテーブルIDは、何のインデックスに名前を付けていません
1.like
xxはどこからのメール「Cの%」のような選択*
2.機能
xxの逆(電子メール)= 'CC' から選択*
3.or
選択* XXからどこのid = 1またはname = 'C'
または非インデックス付きの列、失敗が含まれています
4.矛盾しています
メール= 11 XXから選択*;
主キーの場合は、まだヒットすることができるはずです
5。!=
選択* xxはどこからメール=「C」
主キーまたはインデックスが行くことができる場合
6.>
xxはどこからメール> 'のC%' 選択*
主キーまたは整数型のインデックスは、インデックスが行くことができる場合
によって7.order
電子メールDESCでXX順から名前を選択
インデックスの並べ替え、インデックスを選択するがマップされていない場合は、インデックスを服用しません
主キーのソートによると、またはあなたは、インデックスを取ることができます
8.最も左接頭語の複合インデックス
7.最適化
1.ノート
1.選択を使用しないでください*
2.count(1)又はカウント(列)あるいは(*)カウント
3.代替char型はvarchar(パフォーマンスのために犠牲収納スペース)を使用してみてください
4.ハッシュ値インデックス(以下繰り返し)は、例えば、索引付けには適していない:性別
固定長テーブルフィールド優先のフィールドの順序
単一列索引の複数の場所で6組成指数を(場合、クエリ条件複数のしばしば使用されます)
7.短いインデックスの使用を作ります
表8.なお、条件のもと同じタイプ
2.実施計画
MySQLの事前推定実行動作
推定タイプによると、
すべての<インデックス<範囲<index_merge <ref_or_null <REF <でeq_ref <システム/ CONST
詳細を参照してください。
https://www.cnblogs.com/wupeiqi/articles/5716963.html
http://www.cnblogs.com/xiaoboluo768/p/5400990.html
http://dev.mysql.com/doc/refman/5.7/en/explain-output.html#jointype_system
3.スローログイン
1.条件
1.時間の記録を行います
2.ミスインデックス
3.ログファイルのパス
2. [設定
1.ダイレクトメモリ構成項目があることを
「%クエリ%」のような-show変数
-setグローバル変数名=値
2.プロファイル
1.設定ファイルのための私の-default.iniファイル、内部データを変更、再起動のMySQL
2. [スタート] mysqldは、プロファイルの場所備考
mysqld --defaults-ファイル= 'E ... \私-default.ini'
3.ほぼ同じメモリを搭載した内容を変更します。
8.ページング
1.実際のサイトでは、データのユーザアクセス部分を無効にします
2.ソリューション
IDには、インデックスがヒット(xxに制限200000,10からIDを選択する)、その効果は明らかにされていませんXXから1.select *
2.現在のレコードは、最大値と最小値のページIDた(実際にはそうすることです)
次のページ
ここで、ID> 200000限界10 XX SELECT * FROM。
前
(主キーによる順序非常に低速ではない); ID <IDのDESC制限10によって200000順序はここでxxはSELECT * FROM
ページ移動:前... 12 [98] 99 100 ...次の
どこのid(XXから選択*
IDを選択してから、
Tとして(IDは> 20を制限max_id XXからIDを選択)
T.idのDESC制限10によって順
)
3.とIDが行に必ずしもないので、間に介して達成することができません