|
在SUBMIT以后居然告诉我密码错误发贴失败 这回简短的说明一下情况:
tbl_file_list_at_server和tbl_file_list_at_clients具有完全相同的结构,在FILENAME字段上有允许重复的索引.记录数量分别为5000~10000.
在安装有WIN2000SERVER+ACCESS2000的P42.4A/512MDDR双通道的专业服务器上运行
此语句运行时间远远超过20秒.
SELECT tbl_file_list_at_server.FILENAME, tbl_file_list_at_server.MEMO
FROM tbl_file_list_at_server
WHERE (((tbl_file_list_at_server.FILENAME) Not In (select filename from tbl_file_list_at_clients)));
为达到相同的效果, 使用临时表, 执行一个INSERT一个DELETE语句, 运行速度显著提高,无明显停顿.
以下语句仅少一个NOT关键字(当然意义也发生变化), 运行查询不到2秒.
SELECT tbl_file_list_at_server.FILENAME, tbl_file_list_at_server.MEMO
FROM tbl_file_list_at_server
WHERE (((tbl_file_list_at_server.FILENAME) In (select filename from tbl_file_list_at_clients)));
如此大的性能差异, 以后使用NOT IN的时候一定要留意. |
|