此查询需要大约一分钟才能给出结果:
SELECT MAX(d.docket_id), MAX(cus.docket_id) FROM docket d, Cashup_Sessions cus
然而这个:
SELECT MAX(d.docket_id) FROM docket d UNION MAX(cus.docket_id) FROM Cashup_Sessions cus
立即给出结果。我看不出第一个正在做什么会花费这么长时间 - 我的意思是他们都只是检查相同的两个数字列表以获得最大的数字并返回它们。还有什么是我看不到的?
我正在通过 Java 在 MS Access 数据库上使用 jet SQL。
最佳答案
第一个是在两个表之间进行交叉连接,而第二个不是。
这里的所有都是它的。
关于sql - 这个简单的 SQL 查询有什么理由这么慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186175/