本文主要是介绍MySQLclient使用笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用libmysqlclient库时,遇到的问题和性能分析总结
需要8.0.16之后版本才支持异步
一、测试情况
-
测试环境
虚拟机:Ubuntu16.04
CPU:4核
内存:8G
数据库表数据量:3万条
libmysqlclient:8.0.25 -
测试量
执行1万次,比如idwei 1 ~ 30000, 则将id=1 ~ 10000的数据进行更新或查询
-
测试写入结论
对比mysqlclient异步操作、mysqlclient同步操作、odbc方式
1.InnoDB引擎:
MySQLclient异步:681ms
MySQLclient同步:1778ms
ODBC:1681ms
2.MySIAM引擎:
MySQLclient异步:4633ms
MySQLclient同步:5202ms
ODBC:5267ms
3.InnoDB引擎:每次commit
MySQLclient异步:3367ms
MySQLclient同步:8308ms
ODBC:2365ms -
读取测试结论
- mysqlclient异步操作(1线程、4连接):200ms
二、使用时的坑
-
写入时问题和解决方案
- 连接1写入数据,连接2读取,当还没完全写入,连接2就读新写入的数据,则一直读取不到,如果写入等待一会再去读就能取到
- 连接1写入,连接1立马读取,也能读取到
- 改为自动提交(mysql_autocommit(mysql,true)),则连接1写入数据,连接2立马读取,也能读取到
- 连接1写入,连接2执行mysql_reload接口或者操作sql语句:FLUSH PRIVILEGES 之后连接2也能读取到
这篇关于MySQLclient使用笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!