从Azure BLOB读取SQL Server数据文件数据的性能

时间:2019-07-19 09:39:02

标签: sql-server azure sql-server-2016 query-performance

我有一个安装程序,其中存在SQL Server(MS SQL Server 2016 13.0.5366.0),但数据库文件(日志和数据)存储在云存储帐户中。设置说明here

有趣的部分是物理读取数据的性能。基本上,我在运行之前从表和清理缓冲区/缓存执行非常简单的select语句。

  • 如果我从表和物理读取中以单线程查询形式读取数据 需要我获得最大的网络利用率,且永远不会超过 32 Mbps -比我预期的慢得多

  • 如果我在许多线程中读取数据,这也需要物理读取, 最大网络利用率接近 500 Mbps 我会期望的。

试图理解:

  • 为什么顺序执行不能更快地读取数据?单线程的最大读取性能是否有一些限制?

  • 为什么查询不能开始并行工作,以便多个线程可以读取同一数据文件(并以此来获得更高的性能)?

尝试将数据拆分为多个数据文件-没有影响。

是否尝试查询提示(查询仍未并行执行)

OPTION(QUERYTRACEON 8649) 

OPTION(USE HINT('ENABLE_PARALLEL_PLAN_PREFERENCE')) 

0 个答案:

没有答案