1

これは、マシンがクエリを実行するだけの時間ですか、それともマシンがクエリを表示する時間を含みますか?

この質問をするのは、コンピューターからリモートの MySQL サーバーにアクセスして、15 秒以内に 5000 レコードを受け取る結果が得られるためです。しかし、私は同じユーザーによってこのリモート MySQL サーバーで同じことを正しく行い、約 0.02 秒で 5000 レコードを受け取ります。

2つのタイミングが異なるのはなぜですか?

4

3 に答える 3

1

サーバーの実行時間を測定することだけが本当に必要な場合は、
SHOW PROFILES.

例:

mysql> set profiling = 1;

mysql> select count(*) from xyz;
+----------+
| count(*) |
+----------+
|    10697 |
+----------+
1 row in set (0.02 sec)

mysql> show profiles;
+----------+------------+--------------------------------+
| Query_ID | Duration   | Query                          |
+----------+------------+--------------------------------+
|        1 | 0.01904200 | select count(*) from xyz       |
+----------+------------+--------------------------------+
1 row in set (0.00 sec)
于 2012-07-07T12:24:47.933 に答える
1

もう少し時間がかかる理由は、

  • クエリをリモートで実行します
  • ローカルでクエリを実行します

クエリがネットワーク経由で実行される場合、ネットワーク転送時間も考慮する必要があります。この投稿をチェックアウトして、ネットワーク レイテンシをよりよく理解することができます。

于 2012-07-07T12:35:37.633 に答える
0

これは、DBMS が (クエリ プランに従って) クエリを実行するのに必要な時間を意味します。

于 2012-07-07T11:27:01.173 に答える