sqlserver insert--缓存 爬坑
来源:互联网 发布:py2exe 源码 编辑:程序博客网 时间:2024/05/17 01:29
1、起因
前一阵看sqlserver,学到范式。想起日志服务器的表,觉得不规范(其实后来觉得没必要改,因为太规范反而不好查询),所以要改一下表结构,对比一下insert时间。另一个原因是,想对比下每次插入1条记录,和一次插入1000条记录,性能会优化多少。
2、现象
每次插入10W条左右数据。如果是新的数据,则每1000条数据耗时1.5~3秒;如果已经插入过(不管有没有delete),没1000条数据耗时10~20毫秒。
3、解惑
问同事,同事告知可能是因为缓存。但是为什么是缓存,说不上来。
3、偶然
偶然发现,每次insert新的数据后,从任务管理器可以看到内存增长。疑似内存泄露?问度娘。度娘还是告诉,可能是因为缓存。
4、确认
设置缓存,如下图。第二条的现象消失。内存增长的情况也和预计的一样。
5、缓存与插入速度的关系?
假设了几种可能,都被否了。不想在上面花时间了。。
6、最后贴上测试结果:
========================================================================
每次insert 1000条记录: 50秒
每次insert 1条记录: 33秒
2147483647M最大内存,2.3万条记录
每次insert 1000条记录: 46秒
每次insert 1条记录: 33秒
========================================================================
2147483647M最大内存,2.3万条记录
每次insert 50条记录,11秒;
=======================================================================
总结:
每次insert的记录,太多也慢,太少也慢。听同事说这个跟每条记录占用的空间也有关系。
爬坑结束。
- sqlserver insert--缓存 爬坑
- SQLServer生成insert语句
- sqlserver insert 触发器
- SQLServer之深度分析Insert
- SqlServer Trigger insert update delete
- Sqlserver 导出insert插入语句
- Sqlserver 导出insert插入语句
- Sqlserver Trigger(Insert,Update,Delete)
- sqlserver清空缓存
- SQLSERVER强制清除缓存
- SqlServer: 清空缓存
- SQLServer清空缓存
- SQLSERVER 缓存占用
- Microsoft SqlServer生成表数据Insert语句
- sqlserver导出数据的insert语句
- SQLSERVER 表数据生成INSERT语句
- ADO.NET to SqlServer批量Insert
- sqlserver 生成insert 语句存储对象
- Nim游戏的必胜策略
- 浅论unity3d的数据驱动
- [51nod1326]遥远的旅途
- 第四章
- 1到n范围内能被5或6或8整除的数的个数
- sqlserver insert--缓存 爬坑
- /lib64/libboost_system.so.1.53.0: could not read symbols: 无效的操作
- usb标准设备请求+usb各种描述符结构+usb枚举过程
- CDQ 分治 NKOJ 3655 菊花的故事1
- nginx 启动停止命令
- 1029. 旧键盘(20)
- 解决java读取大文件内存溢出问题、如何在不重复读取与不耗尽内存的情况下处理大文件
- 透视学的应用(四)
- HttpServletRequest&HttpServletResponse&乱码问题