私は、非常に遅いクライアント向けのアプリケーションをサポートするという任務を負っています。MySQLのslow_query_logを有効にしたところ、原因と思われるクエリがいくつか見つかりました。このクエリが何をしているのか少し混乱していますが、これをどのように書き直すことができるかについてのアドバイスは役に立ちます。
SELECT
table_a.id AS table_a_id_1,
table_a2.id AS table_a_id_2
FROM
table_a,
table_b
LEFT JOIN
table_a AS table_a2
ON
table_a.value = table_a2.value
WHERE
table_a.value_id = 112 AND
table_a2.value_id = 113 AND
table_a.status != table_a2.status AND
table_a.id = table_b.id;
私には、クエリが1つのテーブルから同じデータを2回選択し、選択したデータとの比較を行っているように見えます。また、table_bとの結合も実行しているようです。これは、このクエリの実行を参照するMySQLからのログです。
Query_time: 160.854398
Lock_time: 0.000139
Rows_sent: 12
Rows_examined: 10339025
あなたが提供できるアドバイスは役に立ちます!