› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
zhangkunkyle
V2EX  ›  MySQL

MySql 执行 insert 插入 每秒最大能达到多少呢?

  •  
  •   zhangkunkyle ·
    584807419 · Aug 8, 2023 · 3754 views
    This topic created in 1190 days ago, the information mentioned may be changed or developed.

    被问到 MySql 的问题,人家问我不考虑索引等情况,MySql insert 每秒能达到多少,我回答说应该几百到几千吧写硬盘应该不会太快,对方说不对,能达到 10 万,我对此有点疑惑,看有的网友说高性能 MySql 中写测试读的 QPS 最大 8000 ,搜到的信息也确定不了什么情况下能有这个吞吐量,不知有没有大佬能给小弟解答一下,真能达到 10 万么?还是需要特殊条件?谢谢~

    26 replies  •  2023-08-15 15:34:06 +08:00
    F281M6Dh8DXpD1g2
    F281M6Dh8DXpD1g2
    Aug 8, 2023
    1
    我有一个阿里云的 mysql rds 峰值写入过 2w qps,我看还有 50%的剩余内存,应该不是上限
    你自己去阿里云上买个大内存的 mysql 试试呗,基本上 buffer 用完了就是上限了
    偷偷告诉你国产数据库厂家测 qps 都用的 256g 大内存的节点,内存比数据集还大是现在的基本操作
    w8123
    w8123
    Aug 8, 2023
    2
    batch insert 应该是可以支持 10w 这个量级的。另外如果表非常简单,没有多余索引,支持的 tps 肯定会高一些
    hefish
    hefish
    Aug 8, 2023
    3
    1 亿亿次
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 8, 2023
    4
    @liprais 谢谢
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 8, 2023
    5
    @w8123 谢谢
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 8, 2023
    6
    @hefish 这是要起飞的速度啊。。。
    lscho
    lscho
    Aug 8, 2023
    7
    不太懂,如果不加硬件限制,这个问题有意义吗
    idealhs
    idealhs
    Aug 8, 2023
    8
    不谈硬件就问 MySQL?
    dode
    dode
    Aug 8, 2023
    9
    批量插入很快,每秒 10w 小意思
    hefish
    hefish
    Aug 8, 2023
    10
    @zhangkunkyle e....随便讲讲的。
    我觉着这个问题好像也有点意义,好像又没多少意义。。。
    就像我年轻时候,特别注意一些没啥用的细节。。。
    比如学校 4 楼实验室旁的男厕所有几个蹲位?
    hongfs
    hongfs
    Aug 8, 2023
    11
    问完这个,不问问主键用完了怎么办吗。。。
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 8, 2023
    12
    @hongfs 没有问。。。
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 8, 2023
    13
    @dode 谢谢
    dode
    dode
    Aug 9, 2023
    14
    @hongfs uuid 呗
    dif
    dif
    Aug 9, 2023
    15
    用 SSD 会更快,但一般都会以数据安全(没钱)为由不给你配 ssd 。
    windsound
    windsound
    Aug 9, 2023
    16
    各种影响因素很多,mysql 版本,机器配置。
    qingbu
    qingbu
    Aug 9, 2023
    17
    insert values 每次插入 500 行,在不考虑冲突的情况下,并发情况下的写入很快的。单线程大概能跑 2-3w ,多线程 10w+没问题。但是插入速度会被很多因素影响,比如数据类型和数据的复杂程度。还比如一般 MySQL 都是主从,主库扛得住写,但是从库大概率会有主从延迟
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 9, 2023
    18
    @qingbu 谢谢
    git00ll
    git00ll
    Aug 9, 2023
    19
    不能达到 10w 吧,我用 aws rds 测试,批量插入也就在 5000 左右,不过表中有 6 个索引
    Superheroes
    Superheroes
    Aug 9, 2023
    20
    表除了主键,不带索引,将语句限制( max_allowed_packet )改大点,batch insert 轻松到 10W (硬件性能要好),不要小看 mysql
    Superheroes
    Superheroes
    Aug 9, 2023
    21
    @Superheroes 还需要用 myisam 引擎
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 9, 2023
    22
    @Superheroes 请问用 innodb 就不行了么?
    Superheroes
    Superheroes
    Aug 11, 2023
    23
    @zhangkunkyle innodb 不行,innodb 机制限制了写入速度
    zhangkunkyle
    zhangkunkyle
    OP
    Aug 11, 2023
    24
    @Superheroes 那也就是说用 innodb 的话就一般来说达不到 10W 量级了?
    zjp
    zjp
    Aug 13, 2023
    25
    可以挂载到 ramdisk 吗
    Superheroes
    Superheroes
    Aug 15, 2023
    26
    @zhangkunkyle 堆硬件应该可以,没试过
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2303 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 13:09 · PVG 21:09 · LAX 05:09 · JFK 08:09
    ♥ Do have faith in what you're doing.