应本次数据库压力测试的要求,测试数据记录至少为千万级,所以,问题来了,如何快速插入大量数据.
第一种解决方法是在MySQL终端中实现的,具体方法如下.
a.打开MySQl数据库;
mysql -u root -p
b.创建数据库;
mysql> create database insertData;
use insertData;
create CREATE TABLE InsertTable (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;(PS:本数据库为MySQl的内存数据库)
c.创建插入数据的“函数”;
mysql> delimiter @//可实现多行命令的输入,作用很大
create procedure insert_InsertTable(in item integer)//类似于函数参数列表
begin
declare counter int;
set counter = item;
while counter >= 1 do
insert into myisam values(counter,concat('Record.',counter));
set counter = counter - 1;
end while;
end
@
d.调用该函数(比如插入10 000 000条测试数据);
delimiter @//不可省
call insert_InsertTable(100);
@
e.然后使用命令查看是否成功插入数据;
select count(*) from InserTable;
通过使用可知,上文中的方法一显然太过于麻烦,现在考虑将上文中的InsertTable函数写到一个.sql文件,直接调用命令就能实现将数据插入MySQL数据库.将数据库的创建、数据表的创建、数据的插入一步实现
具体实现如下:
a.创建.sql文件insert_data.sql;
drop database if exists insertData;
create database insertData;
use insertData;
SET max_heap_table_size = 1024*1024*2000;//必要的配置,为MySQL分配更大的内存,便于存储
CREATE TABLE InsertTable (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
delimiter @
create procedure insert_InsertTable(in item integer)
begin
declare counter int;
set counter = item;
while counter >= 1 do
insert into InsertTable values(counter,concat('Record.',counter));
set counter = counter - 1;
end while;
end
@
delimiter @
call insert_InsertTable(10000000);
@
b.调用.sql文件;
mysql -u root -p <insert_data.sql
c.查数据是否插入;
select count(*) from InsertTable;
4.1imiter @ @的作用
可以实现在终端执行多次命令,避免回车的影响.
4.2查看存储数据量命令
select count(*) from InserTable;
4.3删除数据表中的数据命令
truncate TableName;
或者
delete from TableName;
5.1如何插入随机数
5.2如何插入多种数据类型的数据
5.3如何插入多条字段的数据
#6 ZigZag ConversionThe string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
写在前面:既然是「进阶版」,说明前面还有一篇,对的,那篇的名字叫:一、体验环境1、体验时间:2014年5月25日2、手机型号:魅族MX2,Flyme OS 3.5.13、APP版本号(android系统,不包含安卓平板):1)UC浏览器:V9.7.9.4392)QQ浏览器:V5.2.0.8703)360浏览器:V6.0.1二、体验正文1、网页载入速度首先把三款浏览器的数据全部清空,然后分别打开新浪...
很多技术控非常喜欢对自己运维的系统进行一些个性定制设计,但对Exadata而言,如果你对它不是特别的理解,一些个性化设置,往往很可能会带来一些不可预知的后果。所以ORACLE一再地强调:”Exadata上的存储节点,不允许进行任何的修改工作”。 不允许对存储节点进行任何的修改工作,这其实是夸...
myeclipse的java web项目中修改源代码,页面显示没有变化**加粗样式**1.点击project->选中buildautomatically即可2.或者重启tomcat3.再或者移除tomcat上部署的项目,再将该项目重新部署...
【题解】 先把区间按照未离散化的长度排序,保存区间长度,然后离散化区间端点。每次把区间覆盖的点的覆盖次数加1,如果某个点被覆盖次数大于等于m,就从前往后开始删除区间直到没有一个点被覆盖的次数大于等于m,然后继续加入区间。边做边维护答案即可。 1 #include<cstdio> 2 #include<algorithm> 3 #defi...
运算符的分类:1算数运算符2赋值运算符3比较运算符4逻辑运算符5三元运算符1.算数运算符练习public static void main(String[] args) { int i = 6666; System.out.println(i/1000*1000);//计算结果是6666}前++与后++的区别:1.变量在独立运算时, 前 ++ 和 后 ++ 没有区别 。2.变量 前 ++ :例如 ++i 。3.变量 后 ++ :例如 i++public sta
MainActivity.javapackage com.example.webview;import android.app.Activity;import android.os.Bundle;import android.webkit.WebView;public class MainActivity extends Activity { @Override protec
第一章:微服务发展史1、演变单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构单体架构在一台tomcat服务器上部署一个web项目垂直应用架构就是将原来的一个应用拆成互不相干的几个应用,以提升效率分布式架构它将把工程拆分成表现层和服务层两个部分,服务层中包含业务逻辑,表现层只需要处理和页面的交互SOA架构一个调度中心对集群进行实时管理,解决在分布式架构下服务越来越多的问题微服务架构在S
秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是12306抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。当然,减库存还有很多细节问题,例如预扣的库存超时后如何进行回补,再比如第三方支付如何保证减库存和付款时的状态一致性,这些也是很大的挑战。一个秒杀系统的设计思考-SegmentFault思否。......
理想情况下,用户将必要的信息填入表单中,然后顺利提交。然而,用户经常犯二。这就是为什么我们要强调Web表单验证。Web表单验证的目的是保证用户顺利提交必要且格式正确的信息。在这篇文章中,我们将超越验证这一行为本身,来探寻不同的验证方式和错误反馈的技术和方法。
首先引用海康威视的MVS中的MvCameraControl.Net然后 using MvCamCtrl.NET;查找设备程序:其中的ComboBox cbDeviceList是显示设备序列号的下拉列表public void DeviceListAcq(ComboBox cbDeviceList) { int nRet; // ch:创建设备列表 en:Create Device List Syste
https://www.cnblogs.com/kaleidoscope/p/9763053.html 转载自这里