<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c_user_id` varchar(36) NOT NULL DEFAULT '', `c_name` varchar(22) NOT NULL DEFAULT '', `c_province_id` int(11) NOT NULL, `c_city_id` int(11) NOT NULL, `create_time` datetime NOT NULL, PRIMARY KEY (`id`), KEY `idx_user_id` (`c_user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
直接往實表新增資料比較慢,所以我們先插入記憶體表,然後再同步到實表。
CREATE TABLE `t_user_memory` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c_user_id` varchar(36) NOT NULL DEFAULT '', `c_name` varchar(22) NOT NULL DEFAULT '', `c_province_id` int(11) NOT NULL, `c_city_id` int(11) NOT NULL, `create_time` datetime NOT NULL, PRIMARY KEY (`id`), KEY `idx_user_id` (`c_user_id`) ) ENGINE=MEMORY DEFAULT CHARSET=utf8mb4;
# 建立隨機字串 delimiter $$ CREATE DEFINER = `root` @`%` FUNCTION `randStr` ( n INT ) RETURNS VARCHAR ( 255 ) CHARSET utf8mb4 DETERMINISTIC 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 $$ # 建立隨機時間的函數,sd和ed兩個入參代表生成的時間是這個時間範圍內的。sd開始時間,ed截止時間。 CREATE DEFINER = `root` @`%` FUNCTION `randDataTime` ( sd DATETIME, ed DATETIME ) RETURNS datetime DETERMINISTIC BEGIN DECLARE sub INT DEFAULT 0; DECLARE ret DATETIME; SET sub = ABS( UNIX_TIMESTAMP( ed )- UNIX_TIMESTAMP( sd )); SET ret = DATE_ADD( sd, INTERVAL FLOOR( 1+RAND ()*( sub - 1 )) SECOND ); RETURN ret; END $$ # 建立插入資料儲存過程 CREATE DEFINER = `root` @`%` PROCEDURE `add_t_user_memory` ( IN n INT ) BEGIN DECLARE i INT DEFAULT 1; WHILE ( i <= n ) DO INSERT INTO t_user_memory ( c_user_id, c_name, c_province_id, c_city_id, create_time ) VALUES ( uuid(), randStr ( 20 ), FLOOR( RAND() * 1000 ), FLOOR( RAND() * 100 ), randDataTime ( "2020-01-01", "2021-01-01" )); SET i = i + 1; END WHILE; END $$ delimiter ;
儲存過程當中的數位就是要生成的數量,自行填寫。
CALL add_t_user_memory(10);
100萬大概需要8分鐘!
建立儲存過程和執行的時候可能會出現以下兩種問題:
在建立儲存過程的時候可能會出現1449:錯誤:
mysql 1449 : The user specified as a definer (‘root’@‘%’) does not exist
經查詢是許可權問題,解決辦法:
執行sql:
grant all privileges on *.* to 'root'@'%' identified by "."; flush privileges;
當生成數量大的時候就可能會報這個錯誤:
解決方法:在my.cnf中修改max_heap_table_size = 256M tmp_table_size = 256M,重啟MySQL服務(my.cnf在mysql安裝路徑),如果還不夠用根據自己電腦自行修改。如果是線上伺服器,最好不要自行修改,還是跟運維多溝通溝通,避免出現問題。
show VARIABLES like '%TABLE_size%';
改完可以在這進行檢視:
INSERT INTO t_user SELECT * FROM t_user_memory;
到此這篇關於MySQL生成千萬測試資料以及遇到的問題的文章就介紹到這了,更多相關MySQL生成千萬測試資料內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45