我进行了一些测试,并获得了一些非常令人惊讶的结果,特别是在使用顺序GUID时:插入性能非常快地下降,而且它似乎不应该如此快地降低。
基本上,测试如下:
从Access前端仅使用VBA,在1000个记录的批次中顺序插入100,000条记录。
我尝试了使用自增ID和顺序GUID作为主键。 我在SQL Server 2008 Standard上进行了尝试(没有特殊调整,只是默认安装),并将其与一个Access 2007数据库作为后端链接回前端的所有表连接起来。
其中一些结果(更多结果及原始数据可在我的博客文章中找到):
很明显,随着数据库的增长,插入性能会降低,但SQL Server在这方面表现得并不好。
http://blog.nkadesign.com/wp-content/uploads/2009/04/chart02.png
SQL Server的结果扩展视图: http://blog.nkadesign.com/wp-content/uploads/2009/04/chart03.png