`

关于innodb插入性能

阅读更多

根据某网友的测试,innodb在以下条件下插入性能是稳定的:

MySQL InnoDB 在满足以下条件下,千万级别的表 插入速度 性能稳定。

不需要经常修改表结构 not always alter table, alter column or alter index
没有经常性的 bulk insert 需求, no always load data 需求
在没有 blob/text 字段的前提下 (有一两个速度也可以接受,见我测试文章)
index 设置合理 (经常插入:减少 index, 经常查询:增加index)

在主流服务器上插入速度可以达到 500 ~ 1000 行 每秒。(每次插入1行,使用事务)
这个是我实践过3000~4000万行表插入100万行新记录后得到的经验,如果大家需求和我类似,那就可以大胆的用 MySQL InnoDB

如果大家对千万级别记录的表有经常的 alter index, alter table, load data, bulk insert 的需求而且不能避免,或者索引字段跟楼主的表相似而且确实有业务需要,那就请谨慎选择MySQL InnoDB,可以选择其他storage engine, 也可以考虑使用其他数据库。

分享到:
评论

相关推荐

    MyISAM引擎与InnoDB引擎性能的对比

    MyISAM引擎与InnoDB引擎性能的对比

    InnoDB性能调节提示

    如何配置mysql的InnoDB性能调节提示

    MySQL批量SQL插入性能优化详解

    因此,优化数据库插入性能是很有意义的。 经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。 1. 一条SQL语句插入多条数据。 常用的插入语句如: INSERT INTO `insert_table` ...

    Mysql innodb 存储引擎全揭秘

    同时使用一种 -- next-key locking 的锁策略来避免幻读现象的产生,还提供了插入缓冲(insert buffer) 二次写(double write) 自适应哈希索引,预读(read ahead)等高性能和高可用的功能。对于表中的数据innodb...

    MySQL批量SQL插入性能优化

    因此,优化数据库插入性能是很有意义的。  经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。  1. 一条SQL语句插入多条数据。  常用的插入语句如:  INSERT INTO `...

    MySQL实现批量插入以优化性能的教程

    因此,优化数据库插入性能是很有意义的。 经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。 1. 一条SQL语句插入多条数据。 常用的插入语句如:   INSERT INTO `insert_...

    InnoDB的关键特性-插入缓存,两次写,自适应hash索引详解

    这些特性为InnoDB存储引擎带来了更好的性能和更高的可靠性。插入缓冲是InnoDB存储引擎关键特性中最令人激动的。不过,这个名字可能会让人认为插入缓冲是缓冲池中的一个部分。其实不然,InnoDB缓冲池中有Insert ...

    mysql_id_strategy:关于MySQL InnoDB介导的大规模服务中的ID生成策略

    在此页面上,在由MySQL InnoDB介导的大规模服务中,要考虑的插入性能问题,使用随着ID生成策略逐渐增加的64位(8字节)整数值的方法以及该方法在避免问题的同时使用UUID的方法。 插入超过一百万行的性能问题 正如...

    关于MySQL innodb_autoinc_lock_mode介绍

    innodb_autoinc_lock_mode这个参数控制着在向有auto_increment 列的表插入数据时,相关锁的行为; 通过对它的设置可以达到性能与安全(主从的数据一致性)的平衡 【0】我们先对insert做一下分类 首先insert大致上可以...

    Mysql 的存储引擎,myisam和innodb的区别

    innodb的引擎比较适合于插入和更新操作比较多的应用  而MyISAM 则适合用于频繁查询的应用    MyISAM –表锁。  innodb–设计合理的话是行锁。  MyISAM 不会出现死锁。    最大的区别就是MYISAM适合小数据,小...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    1.1.14 innodb使用多个回滚段提升性能 26 1.1.15 改善清除程序进度 26 .1.1.16 添加删除缓冲和清除缓冲 27 1.1.17 控制自旋锁spin lock轮训间隔 28 1.1.18 快速创建、删除、更改索引 29 1.1.19 innodb支持创建...

    mysql数据库的性能调优方法

    之前介绍了相关mysql的性能调优,针对innodb存储引擎的使用进行性能调优的方法,Jason也留下点Memory。首先当然要提到的是innodb的关键特性:插入缓冲,两次写。  之前介绍了相关mysql的性能调优,针对innodb存储...

    innodb-optimized-uuid:生成非标准的innodb优化的uuid,对于MySQL写入而言性能更高

    我们可以创建性能更高但非标准的UUID,以帮助加快插入速度,并调整其大小以适合binary(16)列。 以下是此过程涉及的步骤: 13341cb5-c1f8-11e4-91e7-080027880ca6(标准UUID v1) 11e4-c1f8-13341cb5-91e7-...

    PHP+redis+mysql innodb事务和行锁实现秒杀系统.zip

    这种特性使得开发者能够轻松地在静态网页中插入动态内容,实现数据渲染、条件判断、循环处理等功能,极大地简化了Web开发流程。同时,PHP也支持纯脚本文件编写,适用于构建复杂的后台逻辑。 PHP语法简洁明了,借鉴...

    mysql数据库插入速度和读取速度的调整记录

    (1)提高数据库插入性能中心思想:尽量将数据一次性写入到Data File和减少数据库的checkpoint 操作。这次修改了下面四个配置项: 1)将 innodb_flush_log_at_trx_commit 配置设定为0;按过往经验设定为0,插入速度...

    提高MySQL中InnoDB表BLOB列的存储效率的教程

    主要介绍了提高MySQL中InnoDB表BLOB列的存储效率的教程,InnoDB的优化在MySQL的优化研究中也是一个非常热门的课题,需要的朋友可以参考下

    MySQL经典面试题29道

    如果是UUID,由于到来的ID与原来的大小不确定,会造成非常多的数据插入,数据移动,然后导致产生很多的内存碎片,进而造成插入性能的下降。 总之,在数据量大一些的情况下,用自增主键性能会好一些。 3、字段为什么...

    高性能高并发服务器架构大全

     方案探讨,关于工程中数据库的问题. 184  web软件设计时考虑你的性能解决方案 190  大型Java Web系统服务器选型问题探讨 193  高并发高流量网站架构 210 1.1 互联网的发展 210 1.2 互联网网站建设的新...

Global site tag (gtag.js) - Google Analytics