【发布时间】:2013-04-12 08:54:14
【问题描述】:
我需要获取符合特定条件的记录的文件名,但我意识到执行时查询非常慢。我已经加了index,但是还是很慢,怎么提高性能???我正在使用 DB2。请帮忙,谢谢。
表格(文件)(数据量 - 约 100000)
- FILE_ID
- 姓名
- 类别
索引(类别,文件 ID)
表(记录)(数据量 - 约 50000000)
- RECORD_ID
- 数据
- 创建日期
- 类型
- FILE_ID
索引(创建日期,类型,文件 ID)
SELECT NAME
FROM FILE
WHERE CATEGORY = ? AND
FILE_ID IN (SELECT FILE_ID FROM RECORD WHERE CREATE_DATE = ? AND TYPE = ? )
【问题讨论】:
-
IN 比 EXISTS 慢,尝试使用 EXISTS
-
您好,我测试了一些案例,发现 IN 的性能似乎比 EXISTS 好。这只是我检查查询的访问计划时发现的结果。无论如何,只是想分享我的发现。
标签: sql performance indexing db2