zoukankan      html  css  js  c++  java
  • TSQL--自增键和索引对表的插入效率测试

    问题描述:
    数据库操作中,需要对表频繁插入数据,但发现插入效率不高。

    解决思路:
    将数据缓存在服务器上,积攒到一定条数后批处理发送到数据库,在插入时考虑并发和索引对插入效率的影响。

    测试结果:
              有自增主键     有自增无索引     无自增无索引
    单表单线程    24113/s       24448/s             24752/s
    单表5线程     7611/s        104865/s            104340/s
    单表10线程    5756/s       110717/s       105719/s
    10表10线程    109878/s      109878/s       113199/s

    结论:
    1. 在对有索引的表上应减少并发以提高插入效率。
    2. 对无索引的表,适当并发能提高插入效率,过高或过低的并发会导致插入效率低下。
    3. 自增健对插入影响较小可忽略。
    4. 可以考虑将表拆分来提高插入效率。
    5. 减少或避免在插入频繁但查询较少的表上建立索引。

    其他相关建议:
    1. 开启磁盘缓存能提高磁盘处理能力,从而提高插入效率,降低磁盘队列。
    2. 修改数据库文件自动增长的增量,避免数据库文件频繁增长。

     

    理论上 SQL Server 自增列存在一个每秒最大生成数,但该数很难使用当前硬件达到

  • 相关阅读:
    synchronized使用及java中的原子性问题
    Volatile 原理及使用,java并发中的可见性问题
    final 修饰符
    java 常见OPTS参数的含义
    Redis面试题
    Count(1),Count(*),Count(column)区别
    Mysql索引创建及删除
    springboot 非端口模式启动
    sql批量插入缓慢
    sql server sql语句导入数据到execl2007中
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3519543.html
Copyright © 2011-2022 走看看