したがって、インデックスのないデータベースを処理する必要があります(私の設計ではなく、それは私を苛立たせます)。戻るのに約3秒かかるクエリを実行していますが、もっと高速にする必要があります。
関連するテーブルと列は次のとおりです。
gs_pass_data au_entry ground_station
-gs_pass_data_id -au_id -ground_station_id
-start_time -gs_pass_data_id -ground_station_name
-end_time -comments
-ground_station_id
そして私の質問は:
SELECT DISTINCT gs_pass_data_id,start_time,end_time,
ground_station_name FROM gs_pass_data
JOIN ground_station
ON gs_pass_data.ground_station_id =
ground_station.ground_station_id
JOIN au_entry ON au_entry.gs_pass_data_id =
gs_pass_data.gs_pass_data_id
WHERE (start_time BETWEEN @prevTime AND @nextTime)
AND comments = 'AU is identified.'
ORDER BY start_time
DISTINCTの代わりにEXISTSを使用してみましたが、改善はありません。SQLの最適化についてできる限りのことを読みましたが、このクエリを妥当な時間(0.5秒未満であることが妥当)まで下げることができないようです。任意のアイデアをいただければ幸いです。