MySQL 快速創造百萬測試資料
CREATE TABLE `vote_record_memory` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`user_id` VARCHAR (20) NOT NULL,
`vote_id` INT (11) NOT NULL,
`group_id` INT (11) NOT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `index_id` (`user_id`) USING HASH
) ENGINE = memory AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 ;
CREATE TABLE `vote_record` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`user_id` VARCHAR (20) NOT NULL,
`vote_id` INT (11) NOT NULL,
`group_id` INT (11) NOT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `index_user_id` (`user_id`) USING HASH
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 ;
DELIMITER //
CREATE FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1
BEGIN
DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
DECLARE return_str varchar(255) DEFAULT '' ;
DECLARE i INT DEFAULT 0;
WHILE i < n DO
SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END //
DELIMITER //
CREATE PROCEDURE `add_vote_memory`(IN n int)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= n ) DO
INSERT into vote_record_memory (user_id,vote_id,group_id,create_time ) VALUEs (rand_string(20),FLOOR(RAND() * 1000),FLOOR(RAND() * 100) ,now() );
set i=i+1;
END WHILE;
END //
CALL add_vote_memory(1000000) //
delimiter end ;
delimiter ;
INSERT into vote_record SELECT * from vote_record_memory;
`id` INT (11) NOT NULL AUTO_INCREMENT,
`user_id` VARCHAR (20) NOT NULL,
`vote_id` INT (11) NOT NULL,
`group_id` INT (11) NOT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `index_id` (`user_id`) USING HASH
) ENGINE = memory AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 ;
CREATE TABLE `vote_record` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`user_id` VARCHAR (20) NOT NULL,
`vote_id` INT (11) NOT NULL,
`group_id` INT (11) NOT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `index_user_id` (`user_id`) USING HASH
) ENGINE = INNODB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 ;
DELIMITER //
CREATE FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1
BEGIN
DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
DECLARE return_str varchar(255) DEFAULT '' ;
DECLARE i INT DEFAULT 0;
WHILE i < n DO
SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END //
DELIMITER //
CREATE PROCEDURE `add_vote_memory`(IN n int)
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= n ) DO
INSERT into vote_record_memory (user_id,vote_id,group_id,create_time ) VALUEs (rand_string(20),FLOOR(RAND() * 1000),FLOOR(RAND() * 100) ,now() );
set i=i+1;
END WHILE;
END //
CALL add_vote_memory(1000000) //
delimiter end ;
delimiter ;
INSERT into vote_record SELECT * from vote_record_memory;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-2144251/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL構造測試資料MySql
- 【Mysql】資料庫索引,百萬資料測試索引效果MySql資料庫索引
- Mysql使用儲存過程快速新增百萬資料MySql儲存過程
- Sysbench測試神器:一條命令生成百萬級測試資料
- [原創] 大資料測試大資料
- db2 構造測試資料DB2
- 百萬資料查詢測試 只需1秒--Sql語句效率測試SQL
- java快速的生成測試資料Java
- JB的測試之旅-測試資料的準備/構造
- 【MySQL】資料庫效能測試MySql資料庫
- MySQL - [06] 海賊王測試資料MySql
- 銀行測試探索丨信貸長鏈路業務測試資料快速構造方法,瞭解一下構造方法
- [原創]淺談大資料測試大資料
- 百萬資料 mysql count(*)優化MySql優化
- mysql 動態生成測試資料MySql
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- 讓測試更方便系列:快速建立資料
- TCP 百萬併發 資料連線測試 python+locustTCPPython
- MySQL匯入百萬資料實踐MySql
- MySQL製作具有千萬條測試資料的測試庫MySql
- Eolink Apikit 快速發起 API 測試,一鍵生成測試資料API
- 【GoldenGate】Oracle GoldenGate(四) 壓力測試同步百萬行資料GoOracle
- mysql之 mysql資料庫壓力測試工具(mysqlslap)MySql資料庫
- MySQL 資料庫生成 10000 條測試資料MySql資料庫
- 如何全面解析資料並創造資料故事
- 基於儲存過程的百萬級測試資料自動生成儲存過程
- Redis快速產生測試資料的三種方法Redis
- DBA福音 | 如何無視資料量快速搭建測試資料庫資料庫
- mysql資料庫xtrabackup壓縮備份測試MySql資料庫
- Mysql生成100w條測試資料MySql
- mysql資料庫索引的建立以及效能測試MySql資料庫索引
- 測試資料
- mysql快速新增百萬條記錄的語句MySql
- 大資料測試與 傳統資料庫測試大資料資料庫
- 教你幾招,快速建立 MySQL 五百萬級資料,愉快的學習各種優化技巧MySql優化
- Mysql百萬級資料遷移實戰筆記MySql筆記
- mysql之 sysbench0.4.12資料庫效能測試MySql資料庫
- 功能測試之存量資料新與增資料測試