为什么批量插入到内存优化的非持久性 table 与持久性 table 的速度相同?

Why is a bulk insert to a memory-optimized non-durable table the same speed as a durable table?

当 运行 向经优化的持久内存和非持久内存 table 进行大批量插入时,我获得的两者速度相同。向非持久内存优化 table 批量插入的速度不应该比持久内存优化 table 快吗?如果是这样,我在这里做错了什么?

我的测试如下,持续需要大约 30 秒。这是在 SQL Server 2016 SP1 上。批量插入是我生成的 csv 文件中的 1000 万行。

SQL

CREATE TABLE Users_ND (
  Id INT NOT NULL IDENTITY(1,1) PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=10000000),  
  Username VARCHAR(200) NOT NULL  
) WITH (MEMORY_OPTIMIZED=ON, DURABILITY = SCHEMA_ONLY);  

CREATE TABLE Users_D (
  Id INT NOT NULL IDENTITY(1,1) PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=10000000),  
  Username VARCHAR(200) NOT NULL  
) WITH (MEMORY_OPTIMIZED=ON, DURABILITY = SCHEMA_AND_DATA);  

SET STATISTICS TIME ON;
SET NOCOUNT ON;  

BULK INSERT Users_ND 
FROM 'users-huge.csv' 
WITH (FIRSTROW = 2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', BATCHSIZE = 1000000);

BULK INSERT Users_D 
FROM 'users-huge.csv' 
WITH (FIRSTROW = 2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', BATCHSIZE = 1000000);

用户-huge.csv

Id, Username
,user1
,user2
...
,user10000000

原来我遇到这个问题是因为批量插入的源文件保存在慢速硬盘上,所以在读取文件时存在瓶颈。