時々、mysql データベースのエラーや速度低下が発生することがあります。このとき、いくつかの基本的な状況を確認する必要があります
不適切な SQL ステートメントにより、プログラム全体が非常に遅くなる可能性があります。接続が多すぎますか?テーブルの構造に問題があるのでしょうか?テーブルのインデックスは追加されていないのでしょうか? 。 。
以下は、記録のために私がよく使用する mysql 分析ステートメントの一部です。
シリアル番号 | Statement | Function | |
1 | show PROCESSLIST; | システム内で実行中のすべてのプロセス、つまり現在実行中のクエリを表示します。 ほとんどのユーザーは自分のプロセスを表示できますが、プロセス権限があれば、 パスワードを含む全員のプロセスを表示できます。 |
|
2 | show status [like "%Thread%]"; | 実行中のスレッドの数など、システム固有のリソース情報を表示します。 | |
3 | 変数を表示 ['%profili%' など]; | システム変数の名前と値を表示します。静的に調整できるシステムパラメータです (my.cnf またはステートメント調整) | |
4 | desc table_name; | テーブル構造を分析します | |
5 | show create table table_name; | build Table ステートメントを表示します | |
6 | table_name からインデックスを表示します。 | テーブルのインデックスステータスを表示します | |
7 | プロファイルを表示します。 | 実行されたステートメントのステータスを表示しますステートメント | |
8 | explain sql; | ステートメントの実行ステータスを分析する |
1.mysql> show PROCESSLIST;
2.mysql> show status;
すべてのシステムリソースに関する情報を表示します。
3.mysql> show status like "Threads%";
実行中のスレッドの数など、一部のシステム固有のリソースに関する情報を表示します。
4.mysql> show variables like '%profili%';
システムプロファイルに関連する変数値を表示します。 【Mysql分析-プロファイル詳細解説】
mysql> show variables like "%query_cache%";
5.mysql> show index from table_name;
テーブルのインデックス状態を表示
mysql> select database(); //显示当前选中数据库 mysql> show databases; //显示数据库列表 mysql> use database_name; //选择使用数据库 mysql> select version(); //显示mysql版本 mysql> reset query cache; //清理查询缓存
上記はMysql解析です-一般的に使用されるステートメント概要の内容を分析する さらに関連した内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。