最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL如何利用存儲(chǔ)過(guò)程快速生成100萬(wàn)條數(shù)據(jù)詳解

 更新時(shí)間:2021年08月25日 10:42:17   作者:煙火纏過(guò)客  
在MySQL數(shù)據(jù)庫(kù)中,如果要插入上百萬(wàn)級(jí)的記錄,用普通的insertinto來(lái)操作非常不現(xiàn)實(shí),速度慢人力成本高,這篇文章主要給大家介紹了關(guān)于MySQL如何利用存儲(chǔ)過(guò)程快速生成100萬(wàn)條數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下

前言

在測(cè)試的時(shí)候?yàn)榱藴y(cè)試大數(shù)據(jù)量的情況下項(xiàng)目的抗壓能力我們通常要?jiǎng)?chuàng)造一些測(cè)試數(shù)據(jù)那么現(xiàn)在這個(gè)方法絕對(duì)好用

其中可能會(huì)有sql空間的報(bào)錯(cuò)可以自己嘗試解決,這里做了分批插入,每次插入30萬(wàn)條,所以沒(méi)有遇到類(lèi)似的空間問(wèn)題

首先,創(chuàng)建要插入100萬(wàn)數(shù)據(jù)的表格

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
 
-- ----------------------------
-- Table structure for sdb_b2c_orders
-- ----------------------------
DROP TABLE IF EXISTS `sdb_b2c_orders`;
CREATE TABLE `sdb_b2c_orders`  (
  `order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '訂單號(hào)',
  `seller_order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '商戶(hù)訂單號(hào)',
  `total_amount` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '商品默認(rèn)貨幣總值',
  `final_amount` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '訂單貨幣總值, 包含支付價(jià)格,稅等',
  `pay_status` enum('0','1','2','3','4','5') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '付款狀態(tài) 0-未支付 1-已支付 2-已付款至擔(dān)保方 3-部分付款 4-部分退款 5-全額退款',
  `ship_status` enum('0','1','2','3','4') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '發(fā)貨狀態(tài)',
  `is_delivery` enum('Y','N') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'Y' COMMENT '是否需要發(fā)貨',
  `createtime` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '下單時(shí)間',
  `last_modified` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '最后更新時(shí)間',
  `ectools_payments` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `payment` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '支付方式',
  `shipping_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT '配送方式',
  `shipping` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '配送方式',
  `member_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT '會(huì)員用戶(hù)名',
  `platform_member_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '平臺(tái)會(huì)員ID',
  `store_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT '收款門(mén)店ID',
  `confirm_status` enum('0','1','2','3') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '門(mén)店接單狀態(tài)',
  `confirm_time` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '接單時(shí)間',
  `pickself_status` enum('0','1') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '自提狀態(tài)',
  `pickself_time` int(10) NULL DEFAULT NULL COMMENT '自提時(shí)間',
  `pickself_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT '自提門(mén)店ID',
  `operator_id` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT '收款用戶(hù)ID',
  `weixinscan_qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信付款碼',
  `alipay_qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '支付寶付款碼',
  `unionpay_qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '銀聯(lián)付款碼',
  `qrcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '核銷(xiāo)碼',
  `promotion_type` enum('normal','prepare','recharge','cashier') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'normal' COMMENT '銷(xiāo)售類(lèi)型',
  `status` enum('active','dead','finish') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'active' COMMENT '訂單狀態(tài)',
  `confirm` enum('Y','N') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '確認(rèn)狀態(tài)',
  `ship_area` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收貨地區(qū)',
  `ship_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收貨人',
  `weight` decimal(20, 3) NULL DEFAULT NULL COMMENT '訂單總重量',
  `tostr` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '訂單文字描述',
  `itemnum` mediumint(8) UNSIGNED NULL DEFAULT NULL COMMENT '訂單子訂單數(shù)量',
  `ip` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'IP地址',
  `ship_addr` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '收貨地址',
  `ship_zip` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收貨人郵編',
  `ship_tel` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收貨電話',
  `ship_email` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收貨人email',
  `ship_time` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '配送時(shí)間',
  `ship_mobile` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收貨人手機(jī)',
  `cost_item` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '訂單商品總價(jià)格',
  `is_tax` enum('true','false') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'false' COMMENT '是否要開(kāi)發(fā)票',
  `tax_type` enum('false','personal','company') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'false' COMMENT '發(fā)票類(lèi)型',
  `tax_content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '發(fā)票內(nèi)容',
  `cost_tax` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '訂單稅率',
  `tax_company` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '發(fā)票抬頭',
  `is_protect` enum('true','false') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'false' COMMENT '是否還有保價(jià)費(fèi)',
  `cost_protect` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '保價(jià)費(fèi)',
  `cost_payment` decimal(20, 3) NULL DEFAULT NULL COMMENT '支付費(fèi)用',
  `currency` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '訂單支付貨幣',
  `cur_rate` decimal(10, 4) NULL DEFAULT 1.0000 COMMENT '訂單支付貨幣匯率',
  `score_u` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '訂單使用積分',
  `score_g` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '訂單獲得積分',
  `discount` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '訂單減免',
  `pmt_goods` decimal(20, 3) NULL DEFAULT NULL COMMENT '商品促銷(xiāo)優(yōu)惠',
  `pmt_order` decimal(20, 3) NULL DEFAULT NULL COMMENT '訂單促銷(xiāo)優(yōu)惠',
  `payed` decimal(20, 3) NULL DEFAULT 0.000 COMMENT '訂單支付金額',
  `memo` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '訂單附言',
  `disabled` enum('true','false') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'false',
  `displayonsite` enum('true','false') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'true',
  `mark_type` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'b1' COMMENT '訂單備注圖標(biāo)',
  `mark_text` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '訂單備注',
  `cost_freight` decimal(20, 3) NOT NULL DEFAULT 0.000 COMMENT '配送費(fèi)用',
  `extend` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'false' COMMENT '訂單擴(kuò)展',
  `order_refer` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'local' COMMENT '訂單來(lái)源',
  `addon` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '訂單附屬信息(序列化)',
  `source` enum('pc','wap','weixin','cashier','paycode','eleme','meituan') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'pc' COMMENT '平臺(tái)來(lái)源',
  `source_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商圈庫(kù)名',
  `merchant_bn` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商戶(hù)號(hào)',
  UNIQUE INDEX `idx_bn`(`order_id`, `merchant_bn`) USING BTREE,
  INDEX `ind_ship_status`(`ship_status`) USING BTREE,
  INDEX `ind_pay_status`(`pay_status`) USING BTREE,
  INDEX `ind_promotion_type`(`promotion_type`) USING BTREE,
  INDEX `ind_status`(`status`) USING BTREE,
  INDEX `ind_disabled`(`disabled`) USING BTREE,
  INDEX `ind_last_modified`(`last_modified`) USING BTREE,
  INDEX `ind_createtime`(`createtime`) USING BTREE,
  INDEX `idx_order_refer`(`order_refer`) USING BTREE,
  INDEX `idx_bn_aa`(`merchant_bn`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '訂單表' ROW_FORMAT = Dynamic;
 
SET FOREIGN_KEY_CHECKS = 1;

創(chuàng)建函數(shù)

隨機(jī)產(chǎn)生字符串

DELIMITER $$
CREATE FUNCTION rand_string(n INT) RETURNS VARCHAR(255)
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 $$

隨機(jī)產(chǎn)生數(shù)字

DELIMITER $$
CREATE FUNCTION rand_num( ) 
RETURNS INT(5)  
BEGIN   
 DECLARE i INT DEFAULT 0;  
 SET i = FLOOR(100+RAND()*10);  
RETURN i;  
 END $$
 
 
#假如要?jiǎng)h除
#drop function rand_num;

創(chuàng)建存儲(chǔ)過(guò)程

并向表中插入數(shù)據(jù)

#執(zhí)行存儲(chǔ)過(guò)程,往sdb_b2c_order表添加隨機(jī)數(shù)據(jù)
DELIMITER $$
CREATE PROCEDURE insert_sdb_b2c_orders(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 sdb_b2c_orders (order_id ,seller_order_id,total_amount,final_amount,source,source_name,merchant_bn ) VALUES
 (rand_string(10) ,rand_string(10),100,100,'eleme','square',(START+i));  
 UNTIL i = max_num  
 END REPEAT;  
 COMMIT;  
 END $$;
 
 
#刪除
# DELIMITER ;
# drop PROCEDURE insert_emp;

調(diào)用存儲(chǔ)過(guò)程進(jìn)行插入數(shù)據(jù)

 #插入30萬(wàn)條數(shù)據(jù)分幾次插入
 CALL insert_sdb_b2c_orders(700003,300000); 

結(jié)果

 

總結(jié)

百萬(wàn)數(shù)據(jù)搞定,到此這篇關(guān)于MySQL如何利用存儲(chǔ)過(guò)程快速生成100萬(wàn)條數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySQL用存儲(chǔ)過(guò)程生成100萬(wàn)數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決MySQL?Varchar?類(lèi)型尾部空格的問(wèn)題

    解決MySQL?Varchar?類(lèi)型尾部空格的問(wèn)題

    這篇文章主要介紹了MySQL?Varchar?類(lèi)型尾部空格,在這里需要注意的是?binary?排序規(guī)則的?pad?屬性為?NO?PAD,這里其實(shí)不是個(gè)例外,因?yàn)?char、varchar?和?text?類(lèi)型都?xì)w類(lèi)為?nonbinary,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧
    2022-04-04
  • MySQL索引使用全程分析

    MySQL索引使用全程分析

    本文將介紹MySQL索引詳細(xì)使方法;需要的朋友可以參考下
    2012-11-11
  • Mysql?DATETIME?毫秒坑的解決

    Mysql?DATETIME?毫秒坑的解決

    本文主要介紹了Mysql?DATETIME?毫秒坑的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Linux下mysql異地自動(dòng)備份的方法

    Linux下mysql異地自動(dòng)備份的方法

    這篇文章主要介紹了Linux下mysql異地自動(dòng)備份的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MySql逗號(hào)拼接字符串查詢(xún)的兩種方法

    MySql逗號(hào)拼接字符串查詢(xún)的兩種方法

    這篇文章主要介紹了MySql逗號(hào)拼接字符串查詢(xún)的兩種方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • innodb存儲(chǔ)引擎修改表共享空間為獨(dú)立空間

    innodb存儲(chǔ)引擎修改表共享空間為獨(dú)立空間

    最近在優(yōu)化mysql innodb存儲(chǔ)引擎,把共享表空間轉(zhuǎn)換成獨(dú)立表空間,下面是詳細(xì)步驟
    2014-01-01
  • mysql錯(cuò)誤代碼error2003的問(wèn)題及解決

    mysql錯(cuò)誤代碼error2003的問(wèn)題及解決

    這篇文章主要介紹了mysql錯(cuò)誤代碼error2003的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Mysql去重的幾種方式分步講解

    Mysql去重的幾種方式分步講解

    SQL去重是數(shù)據(jù)分析工作中比較常見(jiàn)的一個(gè)場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于SQL去重的3種實(shí)用方法的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • MySQL中having關(guān)鍵字詳解以及與where的區(qū)別

    MySQL中having關(guān)鍵字詳解以及與where的區(qū)別

    在MySQL中HAVING和WHERE是用于過(guò)濾數(shù)據(jù)的兩個(gè)重要的關(guān)鍵字,它們?cè)诓樵?xún)語(yǔ)句中的位置和功能有所不同,這篇文章主要給大家介紹了關(guān)于MySQL中having關(guān)鍵字詳解以及與where區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • MySQL使用TEXT/BLOB類(lèi)型的知識(shí)點(diǎn)詳解

    MySQL使用TEXT/BLOB類(lèi)型的知識(shí)點(diǎn)詳解

    在本篇文章里小編給大家整理的是關(guān)于MySQL使用TEXT/BLOB類(lèi)型的幾點(diǎn)注意內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2020-03-03

最新評(píng)論

济源市| 揭西县| 西城区| 黑水县| 林周县| 河北区| 镇江市| 砚山县| 安国市| 休宁县| 城口县| 邻水| 渝北区| 西宁市| 景泰县| 祁东县| 陆良县| 武隆县| 南宫市| 靖安县| 平遥县| 安新县| 太白县| 旺苍县| 沈丘县| 济宁市| 宁化县| 肇东市| 马山县| 华蓥市| 遂溪县| 万全县| 大洼县| 西乌| 高唐县| 吐鲁番市| 太湖县| 天镇县| 朝阳县| 曲阳县| 铜陵市|