在千万级数据压力测试中,MariaDB 10.0.11 的 TPS(2044.80) 较 MySQL 5.6.19(1002.42) 提升 104%,但中文分词需依赖特定版本与配置。
原因分析
MySQL 5.6 的 InnoDB 引擎虽支持全文索引,但中文分词需 5.7.6+ 的 ngram 解析器(知识库 2020 年 9 月 6 日资料)。而 MariaDB 10.0.15+ 通过 mroonga 引擎实现中文分词,其线程池优化在高并发下表现更优(2014 年 6 月 10 日压力测试显示 512 并发时 MySQL 5.6.19 负载达 195,MariaDB 10.0.11 仅 11.59)。
解决方案
1. 版本与引擎选择
MySQL 需 5.7.6+ 启用 ngram:设置
2. 分词参数调优
MySQL 英文分词默认
3. 性能验证方法
使用 sysbench 压测:命令
注意事项
1. MySQL 5.6 直接配置 ngram 会报错
2. 修改
3. MariaDB 的 mroonga 引擎需单独安装,官方文档提示 10.0.15 前版本不支持中文(知识库 2020 年 9 月 6 日)。
参考来源
来源:CSDN 博客 - MySQL 全文索引深度解析:从原理到实战(2026 年 4 月 12 日)
来源:博客园 - MariaDB 10 和 MySQL 5.6 社区版压力测试(2014 年 6 月 10 日)
来源:MySQL 官方文档 - 全文索引分词配置设置(2020 年 9 月 6 日)