MySQL快速生成大量测试数据方法(无需编写代码、或存储过程)

有时我们需要在数据库中构建大量的基础数据(比如千万级别数据)进行查询操作的性能测试或者 sql 优化。我们通常会采用如下两种方式来创建测试数据:

  • 方式一:编写代码,通过代码批量插库

  • 方式二:编写存储过程和函数执行

    但这两种方法都略显麻烦,本文使用 MySQL 自带的压力测试工具 mysqlslap 来实现测试数据的构建。如果想要了解 mysqlslap 更详细的用法,可以参考我之前写的文章(点击查看

1,准备工作

假设我们要在 people 表里插入 1 百万条随机的测试数据,表结构如下:

原文:MySQL - 快速生成大量测试数据方法(无需编写代码、或存储过程)

2,插入数据

(1)我们执行如下命令实现数据插入,为提高效率这里开启 10 个客户端线程同时插入,总共执行 1 百万次操作:

mysqlslap -uroot -pHangge_123 --concurrency=10 --number-of-queries=1000000 --create-schema=hangge --query="INSERT INTO people(name,age) VALUES (uuid(), RAND() * 100)"

(2)执行完毕可以发现总耗时 208 秒:

原文:MySQL - 快速生成大量测试数据方法(无需编写代码、或存储过程)

(3)查看数据库,可以发现测试数据已经创建成功:

原文:MySQL - 快速生成大量测试数据方法(无需编写代码、或存储过程)


原文出自:www.hangge.com 转载请保留原文链接:https://www.hangge.com/blog/cache/detail_3071.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠、易于维护的Web应用程序。通过使用SSM或SSH框架,可以实现代码的模块化和解耦,提高开发效率和代码质量。MySQL数据库作为数据存储,可以提供稳定的数据存储和快速的数据查询。而JSP作为页面开发技术,可以方便地生成动态的网页内容。 在项目中,Spring框架提供了依赖注入和面向切面编程的功能,可以提高代码的可维护性和可测试性。SpringMVC负责处理请求和响应,可以实现灵活的URL映射和请求处理。MyBatis或Hibernate可以简化数据库操作,提供了方便的ORM(对象关系映射)功能,使得数据的持久化变得简单和高效。 通过以上技术选择和框架搭建,该项目可以实现一个高性能、可扩展性强的Web应用程序。开发人员可以基于框架提供的功能和组件进行快速开发,减少重复代码编写,提高开发效率。同时,使用MySQL作为数据存储,可以保证数据的安全性和可靠性。而JSP作为页面开发技术,可以生成动态的网页内容,提供良好的用户体验。 总之,这个项目采用Java语言开发,框架使用SSM或SSH,存储使用MySQL,页面使用JSP。通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠、易于维护的Web应用程序。通过使用SSM或SSH框架,可以实现代码的模块化和解耦,提高开发效率和代码质量。MySQL数据库作为数据存储,可以提供稳定的数据存储和快速的数据查询。而JSP作为页面开发技术,可以方便地生成动态的网页内容。 在项目中,Spring框架提供了依赖注入和面向切面编程的功能,可以提高代码的可维护性和可测试性。SpringMVC负责处理请求和响应,可以实现灵活的URL映射和请求处理。MyBatis或Hibernate可以简化数据库操作,提供了方便的ORM(对象关系映射)功能,使得数据的持久化变得简单和高效。 通过以上技术选择和框架搭建,该项目可以实现一个高性能、可扩展性强的Web应用程序。开发人员可以基于框架提供的功能和组件进行快速开发,减少重复代码编写,提高开发效率。同时,使用MySQL作为数据存储,可以保证数据的安全性和可靠性。而JSP作为页面开发技术,可以生成动态的网页内容,提供良好的用户体验。 总之,这个项目采用Java语言开发,框架使用SSM或SSH,存储使用MySQL,页面使用JSP。通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠、易于维护的Web应用程序。通过使用SSM或SSH框架,可以实现代码的模块化和解耦,提高开发效率和代码质量。MySQL数据库作为数据存储,可以提供稳定的数据存储和快速的数据查询。而JSP作为页面开发技术,可以方便地生成动态的网页内容。 在项目中,Spring框架提供了依赖注入和面向切面编程的功能,可以提高代码的可维护性和可测试性。SpringMVC负责处理请求和响应,可以实现灵活的URL映射和请求处理。MyBatis或Hibernate可以简化数据库操作,提供了方便的ORM(对象关系映射)功能,使得数据的持久化变得简单和高效。 通过以上技术选择和框架搭建,该项目可以实现一个高性能、可扩展性强的Web应用程序。开发人员可以基于框架提供的功能和组件进行快速开发,减少重复代码编写,提高开发效率。同时,使用MySQL作为数据存储,可以保证数据的安全性和可靠性。而JSP作为页面开发技术,可以生成动态的网页内容,提供良好的用户体验。 总之,这个项目采用Java语言开发,框架使用SSM或SSH,存储使用MySQL,页面使用JSP。通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠、易于维护的Web应用程序。通过使用SSM或SSH框架,可以实现代码的模块化和解耦,提高开发效率和代码质量。MySQL数据库作为数据存储,可以提供稳定的数据存储和快速的数据查询。而JSP作为页面开发技术,可以方便地生成动态的网页内容。 在项目中,Spring框架提供了依赖注入和面向切面编程的功能,可以提高代码的可维护性和可测试性。SpringMVC负责处理请求和响应,可以实现灵活的URL映射和请求处理。MyBatis或Hibernate可以简化数据库操作,提供了方便的ORM(对象关系映射)功能,使得数据的持久化变得简单和高效。 通过以上技术选择和框架搭建,该项目可以实现一个高性能、可扩展性强的Web应用程序。开发人员可以基于框架提供的功能和组件进行快速开发,减少重复代码编写,提高开发效率。同时,使用MySQL作为数据存储,可以保证数据的安全性和可靠性。而JSP作为页面开发技术,可以生成动态的网页内容,提供良好的用户体验。 总之,这个项目采用Java语言开发,框架使用SSM或SSH,存储使用MySQL,页面使用JSP。通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。
MySQL存储过程是一段在MySQL数据库编写的SQL语句集,可以被保存并重复调用。存储过程可以帮助开发人员简化业务逻辑,提高查询效率,提高安全性和维护性,减少网络流量,提高数据库的可扩展性。 存储过程的语法结构如下: ```sql CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type, ...) BEGIN -- SQL statements END; ``` 其中,procedure_name是存储过程的名称,parameter_name是存储过程的参数名称,data_type是参数的数据类型,IN表示参数是输入参数,OUT表示参数是输出参数,INOUT表示参数既是输入参数也是输出参数。 存储过程的执行分为两个阶段:编译阶段和执行阶段。在编译阶段,MySQL会检查存储过程语法的正确性,并生成执行计划。在执行阶段,MySQL会根据执行计划执行存储过程存储过程可以通过CALL语句来调用: ```sql CALL procedure_name (parameter_value, ...) ``` 其中,parameter_value是参数的值。 存储过程的优点: 1. 提高查询效率:存储过程可以在MySQL中预编译和缓存,从而减少了每次查询时的解析和编译时间,提高查询效率。 2. 提高安全性和维护性:存储过程可以限制用户的访问权限,从而提高安全性。同时,存储过程代码可以被保存在数据库中,方便维护和修改。 3. 减少网络流量:存储过程可以在MySQL服务器上执行,减少了客户端和服务器之间的网络流量。 4. 提高数据库的可扩展性:存储过程可以在数据库中执行,从而减少了客户端和服务器之间的数据传输,提高了数据库的可扩展性。 5. 简化业务逻辑:存储过程可以将复杂的业务逻辑封装在一起,提高了代码的可读性和可维护性。 存储过程的缺点: 1. 存储过程的语法比较复杂,需要掌握一定的SQL编程技能。 2. 存储过程的调试和测试比较困难,需要借助MySQL的调试工具。 3. 存储过程的执行效率可能会受到MySQL的版本、硬件环境、数据库的大小等因素的影响。 4. 存储过程的维护和修改需要在MySQL中进行,不方便进行版本控制和集成开发。 总之,存储过程MySQL中非常重要的功能之一,可以提高查询效率,提高安全性和维护性,减少网络流量,提高数据库的可扩展性,简化业务逻辑等。掌握存储过程的语法和使用方法,对于MySQL的开发和维护都具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值