首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyISAM表上的多线程

问MyISAM表上的多线程
EN

Stack Overflow用户
提问于 2014-10-24 17:23:46
回答 1查看 274关注 0票数 0

我试图在MariaDB10.0.14上执行一个基准测试,以使用多个线程读取MyISAM表上的数据,并且我不断得到一个异常,以处理主键的重复条目。MyISAM是否支持使用多线程进行读取?我使用sysbench进行基准测试,我的配置如下:

代码语言:javascript
复制
Prepare testing dataset
#sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua --mysql-table-engine=myisam 
--oltp-table-size=1000000 --mysql-db=sbread --mysql-user=testdb --mysql-password=testpw
--mysql-socket=/var/lib/mysql/mysql.sock prepare


Reads
#sysbench --num-threads=1 --max-requests=500000 --test=/usr/share/doc/sysbench/tests/
db/oltp.lua -- oltp-table-size=1000000 --mysql-socket=/var/lib/mysql/mysql.sock 
--oltp-read-only --mysql-db=sbread --mysql-user=testdb --mysql-password=testpw run

因此,正如你在“准备测试数据集”中所看到的,正在创建的测试数据库具有用于其表的MyISAM存储引擎。当我尝试使用单线程读取时,它运行得很好。但是当我尝试使用多线程(--num- thread =16)访问数据库时,就会得到以下错误:

代码语言:javascript
复制
ALERT: mysql_drv_query() for query 'INSERT INTO sbtest1 (id, k, c, pad) VALUES (498360, 567750, 
'84578502161-76498916585-15177095459-91229149818-13877895508-00429671145-18341319379-39103937662-
51579802230-43663801413', '79741072395-37018170150-53859605676-72598517156-41247843127')' failed: 
1062 Duplicate entry '498360' for key 'PRIMARY'
EN

回答 1

Stack Overflow用户

发布于 2015-10-29 17:55:02

您正在使用--oltp-read-only而不是--oltp- read-only =on,因此您没有运行预期的只读基准测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26545097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档