反驳"MySQL InnoDB (不行)的性能问题",千万_MySQL
在 JavaEye 上看到一篇对 MySQL FUD(Fear, uncertainty and doubt) 的文章
用MySQL InnoDB Benchmark 性能测试来说明
文中提到:"InnoDB 的磁盘性能很令人担心,MySQL 缺乏良好的 tablespace 真是天大的缺陷!……网上有用户反映存在同样的插入性能问题,百万行记录插入之后,插入速度下降到了 1/30,从开始的 1600行/秒衰退到 50行/秒……"
50行/秒这么慢我从来没见过,见也没人反驳,所以自己再专门验证一下。
Tim's 环境:
MySQL 5.0.26 x86_64
Linux x86_64
iddata 文件大小17G,未使用innodb_file_per_table分表选项
表1: 1000万行左右,表大小 2.2G,含主键有6个索引字段
表2: 3000万行左右,表大小 6.3G,含主键有6个索引字段
MySQL还有其他一些数据也在iddata中,但测试时候其他数据未访问。
MySQL Server Hardware 环境
双 XEON 3G
4G 内存, SCSI 硬盘
非专业非名牌,普通组装的服务器。
表结构就是一般的用户表,包含 int, varchar, datetime 字段类型,无 text,blob 类型字段。
单行长度 0.1K 左右
对表1测试2分钟插入操作,在1千万的表中每个调用插入1行,通过Java JDBC在另外一台测试机上调用。
服务器 CPU 30%
JDBC Result:
INSERT OK /ERR: 73824/0
Java HEAP: 7.12MB of 63.56 MB (11.2%) used
TIME elapse(sec): 129
AVG平均/CUR当前/MAX最大 Inserts/SEC: 572/620/620
再测试一个3000万的表,通过Java JDBC在另外一台测试机上调用。
可能上一个测试2分钟会让人觉得没有说服力,3000万的表二就测试久一点吧。测试了10多分钟,又插入了100万条新的数据
一个调用只插入1行,8个线程。使用了连接池。
测试结果速度非常稳定。
服务器 CPU 30%
OK /ERR: 1,006,907/0
HEAP: 6.57MB of 63.56 MB (10.3%) used
TIME elapse(sec): 1683
AVG/CUR/MAX Inserts/Sec: 598/586/647

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

InnoDB的全文搜索功能非常强大,能够显著提高数据库查询效率和处理大量文本数据的能力。1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

本文討論了使用Drop Table語句在MySQL中放下表,並強調了預防措施和風險。它強調,沒有備份,該動作是不可逆轉的,詳細介紹了恢復方法和潛在的生產環境危害。

本文討論了在PostgreSQL,MySQL和MongoDB等各個數據庫中的JSON列上創建索引,以增強查詢性能。它解釋了索引特定的JSON路徑的語法和好處,並列出了支持的數據庫系統。
