MySQL基于索引的压力测试的实现

 更新时间:2021年11月03日 10:42:10   作者:LSYHhhhh  
本文主要介绍了MySQL基于索引的压力测试的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、模拟数据库数据

1-1 创建数据库及表脚本 - vim slap.sh

#!/bin/bash  
HOSTNAME="localhost" 
PORT="3306" 
USERNAME="root" 
PASSWORD="123" 
DBNAME="testdb" 
TABLENAME="t1" 
#create database 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "drop database if exists ${DBNAME}" 
create_db_sql="create database if not exists ${DBNAME}" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}" 
#create table 
create_table_sql="create table if not exists ${TABLENAME}(stuid int not null primary key,stuname varchar(20) not null,stusex char(1)   
not null,cardid varchar(20) not null,birthday datetime,entertime datetime,address varchar(100)default null)" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${create_table_sql}" 
#insert data to table 
i="1" 
while [ $i -le 500000 ]  
do  
insert_sql="insert into ${TABLENAME}  values($i,'alexsb_$i','1','110011198809163418','1990-05-16','2017-09-13','testdb')" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}" 
let i++  
done  
#select data  
select_sql="select count(*) from ${TABLENAME}" 
mysql -h ${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"

1-2 执行脚本 

sh slap.sh

1-3 检查数据的可用性

mysql -uroot -p123
select count(*) from testdb.t1;

1-4 在索引优化前后使用mysqlslap进行压力测试

mysqlslap --defaults-file=/etc/my.cnf \
 --concurrency=100 --iterations=1 --create-schema='testdb' \
--query="select * from testdb.t1 where stuname='test_100'" engine=innodb \
--number-of-queries=2000 -uroot -p123 -verbose

到此这篇关于MySQL基于索引的压力测试的实现的文章就介绍到这了,更多相关MySQL 索引压力测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 简单了解MYSQL数据库优化阶段

    简单了解MYSQL数据库优化阶段

    这篇文章主要介绍了简单了解MYSQL数据库优化阶段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • MySQL单表查询操作实例详解【语法、约束、分组、聚合、过滤、排序等】

    MySQL单表查询操作实例详解【语法、约束、分组、聚合、过滤、排序等】

    这篇文章主要介绍了MySQL单表查询操作,结合实例形式详细分析了mysql单表查询的语法、约束、分组、聚合、过滤、排序等相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2019-12-12
  • Mysql 分批加索引的详细方法

    Mysql 分批加索引的详细方法

    文章主要介绍了在生产环境中为千万级数据表分批次创建索引的策略和方法,包括使用临时表、分区表、ONLINE选项、分批ALTER TABLE、pt-online-schema-change工具等,并提供了详细的步骤和注意事项,感兴趣的朋友一起看看吧
    2024-12-12
  • 在CMD中操作mysql数据库出现中文乱码解决方案

    在CMD中操作mysql数据库出现中文乱码解决方案

    有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 。下面小编给大家带来了在CMD中操作mysql数据库出现中文乱码解决方案,一起看看吧
    2017-09-09
  • mysql建立自定义函数的问题

    mysql建立自定义函数的问题

    由于这几天在写mysql存储过程且发现程序体积越来越庞大,于是尝试使用mysql的函数
    2011-04-04
  • MYSQL SQL查询近7天一个月的数据的操作方法

    MYSQL SQL查询近7天一个月的数据的操作方法

    这篇文章主要介绍了MYSQL SQL查询近7天一个月的数据的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • mysql优化之like和=性能详析

    mysql优化之like和=性能详析

    这篇文章主要给大家介绍了关于mysql优化之like和=性能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • MySQL表自增id溢出的故障原因和解决方法

    MySQL表自增id溢出的故障原因和解决方法

    MySQL 表的自增 ID 溢出问题通常发生在使用 INT 或 BIGINT 类型的自增字段时,如果数据量极大,达到自增字段的最大值时,就会导致溢出,不同的数据库类型有不同的最大值,本文给大家介绍了MySQL表自增id溢出的故障原因和解决方法,需要的朋友可以参考下
    2024-12-12
  • mysql多次调用存储过程的问题

    mysql多次调用存储过程的问题

    这个问题也困扰了我很长时间,准确的说正是因为他的存储过程无法在同一连接中2次或者多次执行,我大幅修该了程序架构,全部题换成了sql,但是毕竟sql无法执行有相当逻辑的代码,最总让我从新测试以求寻找解决之道。
    2011-05-05
  • MySQL 5.7之关于SQL_MODE的设置

    MySQL 5.7之关于SQL_MODE的设置

    这篇文章主要介绍了MySQL 5.7之关于SQL_MODE的设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08

最新评论