ホームページ  >  記事  >  Java  >  Javaインタビュー-遅いクエリ

Javaインタビュー-遅いクエリ

王林
王林転載
2020-11-20 15:24:3910031ブラウズ

Javaインタビュー-遅いクエリ

まず、インタビューの質問を見てみましょう:

インタビューの質問: SQL クエリ操作が遅い SQL であるかどうかを判断する方法と、それを最適化する方法 (Alibaba インタビュー)質問)

面接の質問: Open MySQL の遅いクエリ、ステートメント分析 (Alibaba の面接の質問)

(学習ビデオの共有: Java 教育ビデオ )

1. mysql スロー クエリを開きます

方法 1: 構成ファイルを変更します

my.ini に数行を追加します:

[mysqlld]
//定义查过多少秒的查询算是慢查询,我这里定义的是2秒
long_query_time=2

#5.0、5.1等版本配置如下选项
log-slow-queries="mysql_slow_query.log"
#5.5及以上版本配置如下选项
slow-query-log=On
slow_query_log_file="mysql_slow_query.log"

//记录下没有使用索引的query
log-query-not-using-indexes

(関連する学習ビデオの共有: Java インタビューの質問と回答)

方法 2: MySQL データベースを介して低速クエリを有効にする

mysql>set global slow_query_log=ON
mysql>set global long_query_time = 3600;
mysql>set global log_querise_not_using_indexes = ON;

2. 低速クエリ操作を実行します

実際には、これは困難です。私自身のテストでは、200,000 個のデータを含む大規模なテーブルのクエリでも数秒しかかからなかったので、意味のある遅いクエリを実行する必要がありました。代わりに、次のステートメントを使用できます。

SELECT SLEEP(10);

3. 遅いクエリの数を確認します。
次の SQL ステートメントを使用して、実行された遅いクエリの数を確認します。

show global status like '%slow%';

4.遅いクエリの分析 クエリ ログ

方法 1: ツールによる分析

MySQL には、遅いクエリ ログを分析するための mysqldumpslow ツールが付属しています。さらに、便利なオープン ソース ツールもいくつかあります。

保存されたログの名前がlong.logであると仮定します

最も多くのレコードを持つ 10 個の SQL ステートメントをリストします:

mysqldumpslow -s c -t 10 long.log

最も多くのレコード セットを返す 10 個の SQL ステートメントをリストします。ステートメント:

mysqldumpslow -s r -t 10 long.log

方法 2: mysql スロー クエリ ログを直接分析する

# Time: 121017 17:38:54 
# User@Host: root[root] @ localhost [127.0.0.1] 
# Query_time: 3.794217 Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 4194304 
SET timestamp=1350466734; 
select * from wei where text='orange'; 
# Time: 121017 17:46:22 
# User@Host: root[root] @ localhost [127.0.0.1] 
# Query_time: 3.819219  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 4194304 
SET timestamp=1350467182; 
select * from wei where text='long';

関連する推奨事項: Java 入門チュートリアル

以上がJavaインタビュー-遅いクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。