Query中的执行顺序如下:
SELECT * FROM [users] WHERE [userid] = 50001 AND [username] = 'new user'
Run Code Online (Sandbox Code Playgroud)
我的问题是首先匹配的内容 - [userid]或[username].
因此会影响执行时间.
任何改进此查询的建议都将受到关注.
答案取决于您为SQL引擎提供的索引.如果userid
被索引但username
不是,则引擎很可能开始userid
; 如果username
是索引但userid
不是,则引擎可能以名称开头; 如果两个字段都已编制索引,则引擎将搜索该索引,并按内部ID查找行.请注意,所有这些都高度依赖于您使用的RDBMS.当行数较少时,某些引擎会完全放弃索引搜索以支持全表扫描.
归档时间: |
|
查看次数: |
7821 次 |
最近记录: |