先清空logs表所有的数据,然后使用同样的代码进行测试。测试结果显示写完2000000数据耗时:568903毫秒。可以看到数据库写性能大副提高,大概提高了1倍不止的性能。这也比较符合两块磁盘同时IO的预期。 测试读性能
我们的测试方案:新建一张log2表,使用上面的代码按年份写入2000000数据。然后使用select语句同时读取2019,2020年的数据。把log表转换成分区表,重新测试select的时间。比较两次读取数据的时间。
sql语句:
首先在未分区的表上测试查询性能,花费时间为3s。
把表按前面的方法进行分区拆分,查询花费时间为1s。读性能大概为未分区时的3倍。 总结
经过简单的测试,SQL Server的分区表功能能大副提高数据库的读写性能。通过SQL Server Management Stduio的简单设置就可以对数据库表进行分区操作,并且对应用层的代码完全是无感的,比用分表分库中间件来说简单多了。
关注我的公众号一起玩转技术