web-dev-qa-db-ja.com

mariadb-EXPLAINは機能しますが、ANALYZEはSQL構文でERROR 1064(42000)エラーをスローします

クエリの実行プランを確認して、なぜ遅いのかを調べたいのですが、ANALYZEが機能していないようで、EXPLAINが受け入れるのと同じクエリでエラーがスローされます。

_MariaDB [dbx]> explain select `id` from `pics` where `user_id` = '3';
+------+-------------+-------+------+---------------+---------+---------+-------+------+-------+
| id   | select_type | table | type | possible_keys | key     | key_len | ref   | rows | Extra |
+------+-------------+-------+------+---------------+---------+---------+-------+------+-------+
|    1 | SIMPLE      | pics  | ref  | user_id       | user_id | 4       | const | 1087 |       |
+------+-------------+-------+------+---------------+---------+---------+-------+------+-------+
1 row in set (0.00 sec)

MariaDB [dbx]> analyze select `id` from `pics` where `user_id` = '3';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'select `id` from `pics` where `user_id` = '3'' at line 1
_

mysql Ver 15.1 Distrib 10.0.14-MariaDB, for Linux (x86_64) using readline 5.1を使用します

1
haheute

[〜#〜] Explain [〜#〜] クエリの実行プランを取得します

ANALYZE TABLE インデックス統計を再計算します。だからただ走る

ANALYZE TABLE `pics`;

試してみる !!!

1
RolandoMySQLDBA