当前位置:网站首页>2022-07-05 使用tpcc对stonedb进行子查询测试
2022-07-05 使用tpcc对stonedb进行子查询测试
2022-07-06 14:28:00 【帝尊悟世】
目录
摘要:
记录使用tpcc对stonedb进行压测流程
tpcc:
一. 编译
git clone https://github.com/Percona-Lab/tpcc-mysql.git
cd tpcc-mysql/src
make
cd ..
#由于我们测试的是STONEDB引擎,所以需要修改create_table.sql里面的表结构引擎为Atomstore
vim create_table.sql
:%s/InnoDB/STONEDB/g
二. 创建tpcc库
mysql -e “create database tpcc”三. 导入修改过引擎的表结构:
mysql tpcc < create_table.sql四. 导入数据
ln -s /stonedb56/install/tmp/mysql.sock /var/lib/mysql/mysql.sock./tpcc_load -h localhost -d tpcc -u root -P 3306 -w 10五. 执行测试:
./tpcc_start -h localhost -d tpcc -u root -P 3306 -w 10 -c32 -r10 -l60六. 测试数据:
MEASURING START.
10, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
20, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
30, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
40, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
50, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
60, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
STOPPING THREADS
<Raw Results>
[0] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (5)
[1] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (5)
[2] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (5)
[3] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (80)
[4] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (20)
in 60 sec.
<Raw Results2(sum ver.)>
[0] sc:0 lt:0 rt:0 fl:0
[1] sc:0 lt:0 rt:0 fl:0
[2] sc:0 lt:0 rt:0 fl:0
[3] sc:0 lt:0 rt:0 fl:0
[4] sc:0 lt:0 rt:0 fl:0
<Constraint Check> (all must be [OK])
[transaction percentage]
Payment: -nan% (>=43.0%) [NG] *
Order-Status: -nan% (>= 4.0%) [NG] *
Delivery: -nan% (>= 4.0%) [NG] *
Stock-Level: -nan% (>= 4.0%) [NG] *
[response time (at least 90% passed)]
New-Order: -nan% [NG] *
Payment: -nan% [NG] *
Order-Status: -nan% [NG] *
Delivery: -nan% [NG] *
Stock-Level: -nan% [NG] *
<TpmC>
0.000 TpmC
子查询:
查询语句:
select
o_carrier_id,
count(*) as order_count
from
orders
where
o_entry_d >= date '1993-07-01'
and o_entry_d < date '2022-07-06' + interval '3' month
and exists (
select
*
from
item
where
i_name = i_data
or i_id > i_price
)
group by
o_carrier_id
order by
o_carrier_id;stonedb执行结果:
mysql> select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id;
+--------------+-------------+
| o_carrier_id | order_count |
+--------------+-------------+
| NULL | 90000 |
| 1 | 21113 |
| 2 | 20850 |
| 3 | 20965 |
| 4 | 20854 |
| 5 | 21050 |
| 6 | 21123 |
| 7 | 21028 |
| 8 | 21062 |
| 9 | 21015 |
| 10 | 20940 |
+--------------+-------------+
11 rows in set (0.26 sec)
mysql> explain select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id \G
*************************** 1. row ***************************
id: 1
select_type: PRIMARY
table: NULL
type: NULL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: NULL
Extra: Impossible WHERE
*************************** 2. row ***************************
id: 2
select_type: SUBQUERY
table: item
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 100000
Extra: Using where with pushed condition (t0) Pckrows: 2, susp. 2 (0 empty 0 full). Conditions: 1
2 rows in set (0.00 sec)
对比mysql的innodb引擎:
mysql版本:
[[email protected] ~]# mysqld --version
/usr/libexec/mysqld Ver 8.0.26 for Linux on x86_64 (Source distribution)
数据:
mysql> select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id;
+--------------+-------------+
| o_carrier_id | order_count |
+--------------+-------------+
| NULL | 90000 |
| 1 | 21218 |
| 2 | 20976 |
| 3 | 20727 |
| 4 | 21098 |
| 5 | 21084 |
| 6 | 20878 |
| 7 | 21114 |
| 8 | 20800 |
| 9 | 21265 |
| 10 | 20840 |
+--------------+-------------+
11 rows in set (0.11 sec)
mysql> explain select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: item
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 92192
filtered: 40.00
Extra: Using where; Using temporary; Using filesort; FirstMatch
*************************** 2. row ***************************
id: 1
select_type: SIMPLE
table: orders
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 271048
filtered: 11.11
Extra: Using where; Using join buffer (hash join)
2 rows in set, 1 warning (0.00 sec)
边栏推荐
- Mongodb (III) - CRUD
- GPS from getting started to giving up (16), satellite clock error and satellite ephemeris error
- Maximum product of three numbers in question 628 of Li Kou
- 关于程序员的职业操守,从《匠艺整洁之道》谈起
- GPS从入门到放弃(十四)、电离层延时
- Research and investment strategy report of China's VOCs catalyst industry (2022 Edition)
- 【sciter】: 基于 sciter 封装通知栏组件
- 硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
- MySQL related terms
- Unity3D学习笔记6——GPU实例化(1)
猜你喜欢

基于LM317的可调直流电源
Learn the principle of database kernel from Oracle log parsing
![[MySQL] online DDL details](/img/7e/97098d7ed5802c446bbadaf7035981.png)
[MySQL] online DDL details

Common sense: what is "preservation" in insurance?

HDR image reconstruction from a single exposure using deep CNN reading notes

Assembly and Interface Technology Experiment 6 - ADDA conversion experiment, AD acquisition system in interrupt mode
![Some problems about the use of char[] array assignment through scanf..](/img/cf/d85a3172c5d29ac00377f9c30dbc4f.png)
Some problems about the use of char[] array assignment through scanf..
![[leetcode daily clock in] 1020 Number of enclaves](/img/2d/3d12f20c8c73fb28044c01be633c99.jpg)
[leetcode daily clock in] 1020 Number of enclaves

GPS从入门到放弃(十五)、DCB差分码偏差

Management background --5, sub classification
随机推荐
Leetcode learning records (starting from the novice village, you can't kill out of the novice Village) ---1
Mongodb (III) - CRUD
墨西哥一架飞往美国的客机起飞后遭雷击 随后安全返航
Management background --3, modify classification
Anaconda installs third-party packages
【数字IC手撕代码】Verilog无毛刺时钟切换电路|题目|原理|设计|仿真
Learn the principle of database kernel from Oracle log parsing
保存和检索字符串
Crawler obtains real estate data
GPS从入门到放弃(十三)、接收机自主完好性监测(RAIM)
AI 企业多云存储架构实践 | 深势科技分享
[10:00 public class]: basis and practice of video quality evaluation
LeetCode刷题(十一)——顺序刷题51至55
十二、启动流程
GPS从入门到放弃(十七) 、对流层延时
How does the uni admin basic framework close the creation of super administrator entries?
Save and retrieve strings
Oracle-控制文件及日志文件的管理
GNN,请你的网络层数再深一点~
i. Mx6ull build boa server details and some of the problems encountered