MySQL/チューニング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-[[MySQL データベースの負荷対策/パフォーマンスチューニン...
-[[Performance Insights を使用して Amazon Aurora の MySQL...
*クエリ [#kdda7ed6]
-[[すぐに実践できる! SQLパフォーマンスチューニング5選:h...
**スロークエリログ [#sc834482]
-[[スロークエリログに出力される項目とlog_slow_extra:https...
**EXPLAIN [#y2a69a72]
-[[EXPLAIN 出力フォーマット:https://dev.mysql.com/doc/ref...
-[[条件フィルタ:https://docs.oracle.com/cd/E17952_01/mysq...
-[[あなたの知らない(かもしれない)EXPLAIN文のこんな使い方:...
-[[MySQLのEXPLAINが直感とは異なっていた事例:https://blog....
-[[MySQLのEXPLAIN解説:https://qiita.com/chii-08/items/e6a...
-[[最低限押さえておきたい EXPLAIN の見かた:https://qiita....
-[[MySQL の EXPLAIN を試してみる:https://qiita.com/Ping/i...
-[[MySQLのEXPLAIN(実行プラン)まとめ:https://qiita.com/t...
-[[MySQLのEXPLAINを徹底解説!!:http://nippondanji.blogspot...
**JOIN [#ac0f1e85]
-[[LEFT JOIN および RIGHT JOIN の最適化:https://dev.mysql...
A LEFT JOIN B join_condition
--テーブル B は、テーブル A と A が依存するすべてのテーブ...
--テーブル A は、LEFT JOIN 条件で使用されるすべてのテーブ...
--LEFT JOIN 条件(join_condition)は、テーブル B からの行...
--テーブルは常にそれが依存するすべてのテーブルのあとに読...
--すべての標準 WHERE 最適化が実行されます。
--A に WHERE 句に一致する行があるが、B に ON 条件に一致す...
--LEFT JOIN を使用して、一部のテーブルに存在しない行を検...
-[[WHERE句で結合。INNER JOINとの違い:https://oshiete.goo....
-[[[SQL]JOINの3種類のアルゴリズムについて:https://zenn.de...
-[[【SQL】JOIN(Nested loop join)の仕組みを理解し、インデ...
-[[MySQLで業務アプリを作る際に気を付けたいJOINの話:https:...
-[[SQL Joinサンプル集 Joinで遅いSQLの原因を調べる方法:ht...
-[[MySQLにおけるJOINのチューニングの定石:https://enterpri...
-MySQLがサポートするJOINアルゴリズムはネステッド・ループ...
-インデックスが貼られている結合条件キーに対して駆動表では...
-駆動表は行数が少ないものを選ぶ
・駆動表と内部表の結合キーにindexが適用されるようにする
-JOINのパフォーマンス劣化においては、外部結合が問題となる...
-外部結合ではLEFT JOINであれば左辺のテーブルが駆動表に固...
-ただそれでも、結合がひとつで、内部表の参照にインデックス...
-多段結合でインデックスも使われない場合は、LEFT JOINでは...
*テーブル状況確認 [#p0db85cc]
-[[MySQL でテーブルやカラムの情報を確認する方法まとめ:htt...
-DBのテーブルのカラム情報を取得
SELECT
TABLE_NAME
, COLUMN_NAME
, COLUMN_TYPE
, IS_NULLABLE
, COLUMN_KEY
, COLUMN_DEFAULT
, EXTRA
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'DB_NAME'
;
--[[【MySQL】Keyのところに出る「MUL」の付け方:https://qii...
--[[MySQL で MUL と PRI と UNI の比較:https://www.delftst...
--PRI はプライマリキーを意味し、テーブル内のレコードの一...
--UNI キーは一意キーを表し、主キーのようにテーブル(関係...
--MUL キーはそれらのいずれでもありません。つまり、MUL キ...
-テーブル単位のデータサイズを確認
SELECT
TABLE_NAME
, ENGINE
, TABLE_ROWS -- レコード数
, AVG_ROW_LENGTH -- 平均レコード容量
, FLOOR((DATA_LENGTH + INDEX_LENGTH) / 1024) AS SIZE ...
, FLOOR((DATA_LENGTH) / 1024) AS DATA_SIZE -- データ...
, FLOOR((INDEX_LENGTH) / 1024) AS INDEX_SIZE -- イン...
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = DATABASE()
ORDER BY
(DATA_LENGTH + INDEX_LENGTH) DESC
;
終了行:
-[[MySQL データベースの負荷対策/パフォーマンスチューニン...
-[[Performance Insights を使用して Amazon Aurora の MySQL...
*クエリ [#kdda7ed6]
-[[すぐに実践できる! SQLパフォーマンスチューニング5選:h...
**スロークエリログ [#sc834482]
-[[スロークエリログに出力される項目とlog_slow_extra:https...
**EXPLAIN [#y2a69a72]
-[[EXPLAIN 出力フォーマット:https://dev.mysql.com/doc/ref...
-[[条件フィルタ:https://docs.oracle.com/cd/E17952_01/mysq...
-[[あなたの知らない(かもしれない)EXPLAIN文のこんな使い方:...
-[[MySQLのEXPLAINが直感とは異なっていた事例:https://blog....
-[[MySQLのEXPLAIN解説:https://qiita.com/chii-08/items/e6a...
-[[最低限押さえておきたい EXPLAIN の見かた:https://qiita....
-[[MySQL の EXPLAIN を試してみる:https://qiita.com/Ping/i...
-[[MySQLのEXPLAIN(実行プラン)まとめ:https://qiita.com/t...
-[[MySQLのEXPLAINを徹底解説!!:http://nippondanji.blogspot...
**JOIN [#ac0f1e85]
-[[LEFT JOIN および RIGHT JOIN の最適化:https://dev.mysql...
A LEFT JOIN B join_condition
--テーブル B は、テーブル A と A が依存するすべてのテーブ...
--テーブル A は、LEFT JOIN 条件で使用されるすべてのテーブ...
--LEFT JOIN 条件(join_condition)は、テーブル B からの行...
--テーブルは常にそれが依存するすべてのテーブルのあとに読...
--すべての標準 WHERE 最適化が実行されます。
--A に WHERE 句に一致する行があるが、B に ON 条件に一致す...
--LEFT JOIN を使用して、一部のテーブルに存在しない行を検...
-[[WHERE句で結合。INNER JOINとの違い:https://oshiete.goo....
-[[[SQL]JOINの3種類のアルゴリズムについて:https://zenn.de...
-[[【SQL】JOIN(Nested loop join)の仕組みを理解し、インデ...
-[[MySQLで業務アプリを作る際に気を付けたいJOINの話:https:...
-[[SQL Joinサンプル集 Joinで遅いSQLの原因を調べる方法:ht...
-[[MySQLにおけるJOINのチューニングの定石:https://enterpri...
-MySQLがサポートするJOINアルゴリズムはネステッド・ループ...
-インデックスが貼られている結合条件キーに対して駆動表では...
-駆動表は行数が少ないものを選ぶ
・駆動表と内部表の結合キーにindexが適用されるようにする
-JOINのパフォーマンス劣化においては、外部結合が問題となる...
-外部結合ではLEFT JOINであれば左辺のテーブルが駆動表に固...
-ただそれでも、結合がひとつで、内部表の参照にインデックス...
-多段結合でインデックスも使われない場合は、LEFT JOINでは...
*テーブル状況確認 [#p0db85cc]
-[[MySQL でテーブルやカラムの情報を確認する方法まとめ:htt...
-DBのテーブルのカラム情報を取得
SELECT
TABLE_NAME
, COLUMN_NAME
, COLUMN_TYPE
, IS_NULLABLE
, COLUMN_KEY
, COLUMN_DEFAULT
, EXTRA
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'DB_NAME'
;
--[[【MySQL】Keyのところに出る「MUL」の付け方:https://qii...
--[[MySQL で MUL と PRI と UNI の比較:https://www.delftst...
--PRI はプライマリキーを意味し、テーブル内のレコードの一...
--UNI キーは一意キーを表し、主キーのようにテーブル(関係...
--MUL キーはそれらのいずれでもありません。つまり、MUL キ...
-テーブル単位のデータサイズを確認
SELECT
TABLE_NAME
, ENGINE
, TABLE_ROWS -- レコード数
, AVG_ROW_LENGTH -- 平均レコード容量
, FLOOR((DATA_LENGTH + INDEX_LENGTH) / 1024) AS SIZE ...
, FLOOR((DATA_LENGTH) / 1024) AS DATA_SIZE -- データ...
, FLOOR((INDEX_LENGTH) / 1024) AS INDEX_SIZE -- イン...
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = DATABASE()
ORDER BY
(DATA_LENGTH + INDEX_LENGTH) DESC
;
ページ名: