私の MySQL データベースには 2 つのデータベースがapple
ありbanana
ます。apple
には 1 つのテーブルがあり、それを と呼びましょうmydata
。
> use apple;
Database changed
> SELECT * FROM mydata;
...
3379 rows in set (0.00 sec)
> SELECT mydata.* FROM mydata;
...
3379 rows in set (0.00 sec)
SELECT *
同じデータベース内で使用すると、すべて正常に動作します。データベースを切り替えるとすぐに、奇妙な動作が発生します。
> use banana;
Database changed
> SELECT mydata.* FROM apple.mydata;
...
3379 rows in set (0.00 sec)
> SELECT * FROM apple.mydata;
[hangs!]
なぜこれがハングするのですか?MySQL は、より具体的でハングを引き起こさないが、ハングの原因と*
なる手段を何と考えていますか。mydata.*
ノート:
- 「SHOW FULL PROCESSLIST」によると、ハングしているクエリを実行している接続はコマンドを実行していませんが、「スリープ」状態になっています。
- この問題は断続的です。私のクエリは 1 年半にわたってこれを行い、数時間前にすべてがフリーズし始めました。5分前にはフリーズも止まり、今のところ問題ありません。
資格のある人がすぐに実行されるのに、資格SELECT *
のない人が実行されない理由はありますか?SELECT mydata.*
ありがとう、
ジョナサン