SQL Server 是否并行执行查询?换句话说,如果我运行一个需要 10 秒执行的繁重查询,同时启动另一个需要 10 秒的繁重查询,第二个查询会在 10 秒后真正启动,还是它们会同时启动? ?
正如我所读到的,大多数时候索引搜索比索引扫描更受欢迎,我正在尝试一些东西。
我有一个查询在使用索引扫描时执行 993 次读取(使用 SQL Profiler 检查)。使用索引查找时,需要 44.347 次读取。感觉有什么不对,或者我不明白。
这是索引扫描的查询:
select t5.Id as t5Id
from table1 t1
left join table2 t2 on t2.Table1Id = t1.Id
left join table3 t3 on t3.Table2Id = t2.Id
left join table4 t4 on t4.Table3Id = t3.Id
left join table5 t5 on t5.Table4Id = t4.Id
Run Code Online (Sandbox Code Playgroud)
这是索引查找的查询:
select t5.Id as t5Id
from table1 t1
left join table2 t2 on t2.Table1Id = t1.Id
left join table3 t3 on t3.Table2Id = t2.Id
left join table4 t4 on t4.Table3Id = …Run Code Online (Sandbox Code Playgroud) 我刚刚执行了一个非常快的查询,SQL Profiler 说它使用了 30.000 次读取。现在我正在查看此页面:https : //cloud.google.com/compute/docs/disks/performance并看到标准永久性磁盘具有 3000 次读取 IOPS。
这是否意味着我的查询在那里运行时需要 10 秒?或者SQL reads和read IOPS意味着完全不同的事情?