得到了这样一个需求,需要按照拼音字母排序,而mysql数据库使用的是utf编码。
如果使用gbk的话,排序规则是按拼音的。
而mysql中convert函数,可以对数据进行转换。
我们对这个convert进行了简单的性能测试,下面介绍一下测试过程,以及测试结果,如有问题,请各位指出。
软硬件环境
硬件配置:2核CPU、2G内存
数据库:Mysql 5.5
表结构
1 2 3 4 5 |
CREATE TABLE `test_gbk` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(12) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB |
测试用例
测试sql:
select * from test_gbk order by convert(name using gbk) limit 1;
select * from test_gbk order by name limit 1;”
测试目标
分别用上面两种sql测试4线程和16线程压力测试,主要关注QPS
测试结果
4万行数据
4线程,性能下降14%
16线程,性能下降17%
1万行数据
4线程,性能下降15%
16线程,性能下降15%
结论
从简单测试能够看出,性能下降在14%-17%范围内。
是否要使用这个函数,大家自己斟酌。
我的建议是尽量不要使用,因为相比于前端应用,我认为数据库服务器的计算资源更加珍贵
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 数据
, 线程
, 测试
, 函数
压力测试
mysql 性能测试工具、mysql性能测试、mysql 5.7 性能测试、如何测试mysql性能、mysql读写性能测试,以便于您获取更多的相关知识。