在sql数据库中,在外表大内部小的情况下,exists性能比in快,如果两个表的大小相同的话,性能上几乎没有什么差别,not in 不能调用索引,not exists 可以调用索引 。
例子:
表 'worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 'inventory'。扫描计数 2,逻辑读取 126904 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
例子:
表 'inventory'。扫描计数 2,逻辑读取 63455 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
以上介绍了sql数据库中,有关in与exists在性能上的一些区别,希望对大家有所帮助。