由于比较对象的位置-系统值和硬盘数据的位置,下面的查询之间是否存在性能问题?
SELECT * FROM hashes WHERE hash_key='HASH_KEY' AND NOW() <= expires_on;
SELECT * FROM hashes WHERE hash_key='HASH_KEY' AND expires_on >= NOW();
对于大型记录,NOW() <= expires_on
和expires_on >= NOW()
会有什么不同吗?
发布于 2014-05-22 15:26:23
不,这不会有什么不同。
可以区别的是hash_key='HASH_KEY'
与expires_on >= NOW()
的位置不同。
语句末尾的查询是以前执行的,所以通常将过滤最多的语句放在语句末尾是个好主意。
https://stackoverflow.com/questions/23800159
复制相似问题