簡體   English   中英

MyISAM表上有多個線程

[英]Multiple threads on MyISAM table

我試圖在我的MariaDB10.0.14上執行基准測試,以使用多個線程讀取MyISAM表上的數據,但我不斷遇到與主鍵重復輸入有關的異常。 MyISAM是否支持使用多個線程進行閱讀? 我正在使用sysbench進行基准測試,我的配置如下:

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-threads = 16),例如,當我得到以下錯誤時:

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'

您正在使用--oltp-read-only而不是--oltp-read-only = on,因此您沒有運行預期的只讀基准。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM