在将一些数据转换到 SQL Azure 时,我注意到了一个意外行为。我做了一个快速测试,结果如下:
我在数据库中有一个包含 1M 记录的表,数据库大小为 230MB,这没有非聚集索引。
我通过创建一个具有相同架构的新表进行了一个简单的测试,并将数据从一个表复制到另一个表,如下所示:
INSERT INTO [dbo].[lete_new]
([str_en]
,[str_en_fp])
SELECT [str_en] ,[str_en_fp] FROM [dbo].[lete]
首先,在我的本地工作站 (SELECT [str_en] ,[str_en_fp] FROM [dbo].[lete]) 需要 8 秒,因此最重要的是执行插入所需的时间。当我在本地 WS 上运行插入时,将数据复制到新表需要 10 秒。最大的惊喜是当我在 Azure 上运行相同的查询时,只用了 30 秒。
我知道这不完全是一个编程问题,但这仍然会影响程序性能,我想知道为什么性能下降?