mysql自動生成大量數據

来源:https://www.cnblogs.com/zhijiancanxue/archive/2020/03/23/12551892.html

[toc] mysql自動生成大量數據 為了學習驗證高性能mysql,自動生成大量的數據做測試。內容來源於網路。 創建隨機數字生成 DELIMITER $$ CREATE DEFINER= @`% random_num`( ) RETURNS int(5) BEGIN DECLARE i INT D ...


mysql自動生成大量數據

為了學習驗證高性能mysql,自動生成大量的數據做測試。內容來源於網路。

創建隨機數字生成

DELIMITER $$
CREATE DEFINER=`root`@`%` FUNCTION `random_num`( ) RETURNS int(5)
BEGIN   
 DECLARE i INT DEFAULT 0;  
 SET i = FLOOR(100+RAND()*10);  
RETURN i;  
 END$$
DELIMITER ;

生成隨機字元串

DELIMITER $$
CREATE DEFINER=`root`@`%` FUNCTION `random_string`(n INT) RETURNS varchar(255) CHARSET latin1
BEGIN
 DECLARE chars_str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ';
 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()*52),1));
 SET i = i + 1;
 END WHILE;
 RETURN return_str;
END$$
DELIMITER ;

生成隨機數字,返回varchar類型數據組合,例如手機號

DELIMITER $$
CREATE DEFINER=`root`@`%` FUNCTION `random_string_phone`(n INT) RETURNS varchar(255) CHARSET latin1
BEGIN
 DECLARE chars_str VARCHAR(100) DEFAULT '1234567890';
 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()*10),1));
 SET i = i + 1;
 END WHILE;
 RETURN return_str;
END$$
DELIMITER ;

創建用戶表myisam引擎

CREATE TABLE `sys_user_myisam` (
  `user_id` bigint(100) NOT NULL AUTO_INCREMENT,
  `username` varchar(100) DEFAULT NULL COMMENT '用戶名',
  `password` varchar(100) DEFAULT NULL COMMENT '密碼',
  `salt` varchar(100) DEFAULT NULL COMMENT '鹽',
  `email` varchar(100) DEFAULT NULL COMMENT '郵箱',
  `mobile` varchar(100) DEFAULT NULL COMMENT '手機號',
  `status` int(1) DEFAULT '1' COMMENT '狀態  0:禁用   1:正常',
  PRIMARY KEY (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8 COMMENT='系統用戶MyISAM';

創建存儲過程生成數據

DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `insert_sys_user_myisam`(IN START INT(10),IN max_num INT(10))
BEGIN  
DECLARE i INT DEFAULT 0;   
 SET autocommit = 0;    
 REPEAT  
 SET i = i + 1;  
 INSERT INTO sys_user_myisam (user_id,username,password,salt,email,mobile,status) VALUES (START+i,random_string(10),random_string(6),random_string(10),random_string(20),random_string_phone(12),1);  
 UNTIL i = max_num  
 END REPEAT;  
 COMMIT;  
 END$$
DELIMITER ;

創建表innodb引擎

create table sys_user_innodb ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8 as select * from sys_user_myisam;

您的分享是我們最大的動力!

更多相關文章
  • 前面系列文章講解了Linux下通過文件傳輸、文件共用、郵件系統來分享和獲取資源,本文講解網路資源獲取和共用的另外一種形式,通過Apache服務程式來提供Web服務。 ...
  • 為什麼提交到github的commit都是一個作者 "參考鏈接" "重要知識點講解" 問題如下所示 git是分散式去中心化的管理系統 ssh秘鑰對生成。並把id_rsa.pub加入github.com中(這個過程只是建立一個可以互訪的通道而已) 只是建立了github倉庫之間可以互訪 到底是本地哪個 ...
  • https://www.cnblogs.com/tan-chao/p/11023181.html 簡介 MongoDB[1] 是一個基於分散式文件存儲的資料庫。由C 語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。 MongoDB[2] 是一個介於關係資料庫和非關係資料庫之間的產品,是 ...
  • 在一張表裡有多個索引 , 我們where欄位里條件有多個索引的值 , 那麼究竟使用的哪個呢? 我們可以使用explain來查看 , 其中的key_len欄位可以看得出來 比如下麵這條sql explain select * from ent_calendar_diary where email='x ...
  • 分享攢了多年的mssql腳本 腳本類別包括:備份還原表分區常用函數錯誤日誌定時自動抓取耗時SQL並歸檔發郵件腳本模塊鏡像批量腳本資料庫收縮資料庫損壞資料庫賬號統計資料庫大小性能作業 腳本數量:54個 github地址:https://github.com/xiaohuazi123/mssql-scr ...
  • SQL 包含以下 4 部分: 1 數據定義語言(DDL):DROP、CREATE、ALTER 等語句。 2 數據操作語言(DML):INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。 3 數據查詢語言(DQL):SELECT 語句。 4 數據控制語言(DCL): GRANT、RE ...
  • 第一個就是使用優化查詢的方法。這個在前期的內容中有具體說明,這裡不再做說明。 第二、這裡簡要說明一個以下幾個方法: 主從複製、讀寫分離、負載均衡 目前,大部分的主流關係型資料庫都提供了主從複製的功能,通過配置兩台(或多台)資料庫的主從關係,可以將一臺資料庫伺服器的數據更新同步到另一臺伺服器上。網站可 ...
  • 學習自《劍破冰山 Oracle開發藝術》第五章 報表開發之擴展GROUP BY對於簡單group by語句很難對複雜維度進行分析,難以達到實際生產的複雜報表需求,group by的擴展特性就需要了,union語句也可以達到需求但是sql複雜且效率低1 rollup多維彙總rollup,分組先進行常規... ...
一周排行
  • 一、引言 按照專用隊列解釋: MachineName\Private$\QueueName,只針對於本機的程式才可以調用的隊列,有些情況下為了安全起見定義為私有隊列。所以剛開始的時候認為,要想訪問遠程消息隊列,只能使用公共隊列。但是後來發現,公共隊列依賴Domain Controller(域控),在 ...
  • 本文只對api介面,header請求參數進行簡單驗證,起到拋磚引玉使用,需要深入驗證,請自行擴展 項目目錄結構如圖 中間件類 using ApiMiddleware.Common.DataEnityModel; using ApiMiddleware.Common.DbContext; using ...
  • 前言:由於公司占時沒有運維,出於微服務的需要,Apollo只能先裝在windows 阿裡雲上跑起來,由於環境及網路等問題,在安裝過程中遇到很多坑,算是一個個坑填完後,最終實現。 一. java jdk環境 java jdk 1.8下載地址: https://www.oracle.com/java/t ...
  • 前言 nuget 是 .net 的常用包管理器,目前已經內置到 Visual Studio 2012 以後的版本。大多數 .net 包都托管在 nuget.org,包括 .net core 框架基礎包,得益於 .net core 的模塊化設計,很多非核心包都可以進行一定程度的獨立升級。 製作並上傳 ...
  • 簡單的介紹一下集合,通俗來講就是用來保管多個數據的方案。比如說我們是一個公司的倉庫管理,公司有一堆貨物需要管理,有同類的,有不同類的,總而言之就是很多、很亂。我們對照集合的概念對倉庫進行管理的話,那麼 數組就是將一堆貨整整齊齊的碼在倉庫的某個地方,普通列表也是如此;Set就是在倉庫里有這麼一個貨架, ...
  • 中間件分類 ASP.NET Core 中間件的配置方法可以分為以上三種,對應的Helper方法分別是:Run(), Use(), Map()。 Run(),使用Run調用中間件的時候,會直接返回一個響應,所以後續的中間件將不會被執行了。 Use(),它會對請求做一些工作或處理,例如添加一些請求的上下 ...
  • 字元串的常用操作 很好理解 字元串可以用 ' + ' 連接,或者乘一個常數重覆輸出字元串 字元串的索引操作 通過一對中括弧可以找到字元串中的某個字元 可以通過正負數雙向操作噢 用一個中括弧來實現 為什麼沒有-0??去清醒腦子想想 -0 和 0 有差嗎? 還有一個切片操作 就像切菜那樣簡單,同樣是中括 ...
  • title: Java基礎語法(3) 運算符 blog: "CSDN" data: "Java學習路線及視頻" 1.算術運算符 算術運算符的註意問題 如果對負數取模,可以把模數負號忽略不記,如:5% 2=1。 但被模數是負數則不可忽略。此外,取模運算的結果不一定總是整數。 對於除號“/”,它的整數除 ...
  • 下麵是互相轉換的代碼: 有想要瞭解更多關於python知識的請在下方評論或私信小編 ...
  • 引言 構建分散式系統並不容易。然而,人們日常所使用的應用大多基於分散式系統,在短時間內依賴於分散式系統的現狀並不會改變。ApacheZooKeeper旨在減輕構建健壯的分散式系統的任務。ZooKeeper基於 分散式計算的核心概念而設計,主要目的是給開發人員提供一套容易理解和開發的介面,從而簡化分佈 ...
x