欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql中迅速插入百萬(wàn)條測(cè)試數(shù)據(jù)的方法

 更新時(shí)間:2012年04月14日 02:17:48   作者:  
最近想到創(chuàng)建一個(gè)大量數(shù)據(jù)的測(cè)試環(huán)境,于是找了一下怎么插入100W條數(shù)據(jù),我用的是20個(gè)字段
對(duì)比一下,首先是用 mysql 的存儲(chǔ)過(guò)程弄的:
復(fù)制代碼 代碼如下:

mysql>delimiter $
mysql>SET AUTOCOMMIT = 0$$
mysql> create procedure test()
begin
declare i decimal (10) default 0 ;
dd:loop
INSERT INTO `million` (`categ_id`, `categ_fid`, `SortPath`, `address`, `p_identifier`, `pro_specification`, `name`, `add_date`, `picture_url`, `thumb_url`, `is_display_front`, `create_html_time`, `hit`, `buy_sum`, `athor`, `templete _style`, `is_hot`, `is_new`, `is_best`) VALUES
(268, 2, '0,262,268,', 0, '2342', '423423', '123123', '2012-01-09 09:55:43', 'upload/product/20111205153432_53211.jpg', 'upload/product/thumb_20111205153432_53211.jpg', 1, 0, 0, 0, 'admin', '0', 0, 0, 0);
commit;
set i = i+1;
if i= 1000000 then leave dd;
end if;
end loop dd ;
end;$
mysql>delimiter ;
mysql> call test;

結(jié)果
mysql> call test; Query OK, 0 rows affected (58 min 30.83 sec)
非常耗時(shí)。
于是我又找了一個(gè)方法
先用PHP代碼生成數(shù)據(jù),再導(dǎo)入:
復(fù)制代碼 代碼如下:

<?php
$t=mktime();
set_time_limit(1000);
$myFile="e:/insert.sql";
$fhandler=fopen($myFile,'wb');
if($fhandler){
$sql="268\t2\t'0,262,268,'\t0\t '2342'\t'423423'\t'123123'\t'23423423'\t'2012-01-09 09:55:43'\t'upload/product/20111205153432_53211.jpg'\t'upload/product/thumb_20111205153432_53211.jpg'\tNULL\tNULL\t38\t'件'\t''\t123\t123\t0";
$i=0;
while($i<1000000)//1,000,000
{
$i++;
fwrite($fhandler,$sql."\r\n");
}
echo"寫(xiě)入成功,耗時(shí):",mktime()-$t;
}

然后再導(dǎo)入
復(fù)制代碼 代碼如下:

LOAD DATA local INFILE 'e:/insert.sql' INTO TABLE tenmillion(`categ_id`, `categ_fid`, `SortPath`, `address`, `p_identifier`, `pro_specification`, `name`, `description`, `add_date`, `picture_url`, `thumb_url`, `shop_url`, `shop_thumb_url`, `brand_id`, `unit`, `square_meters_unit`, `market_price`, `true_price`, `square_meters_price`);

注意字段不再以逗號(hào)分割,以\t分割,條記錄以\r\n分割。結(jié)果我插入10次數(shù)據(jù),100W平均只要1分鐘搞定。
第二種方式mysql中間省略了很多中間步驟,導(dǎo)致插入速度遠(yuǎn)勝于第一種,具體的沒(méi)有研究。

快速生成mysql上百萬(wàn)條測(cè)試數(shù)據(jù)
由于測(cè)試需要,原表中只有1萬(wàn)條數(shù)據(jù),現(xiàn)在隨機(jī)復(fù)制插入記錄,快速達(dá)到100萬(wàn)條。

itemid是主鍵。

運(yùn)行幾次下面代碼。隨機(jī)取1000條插入,

insert into downitems (chid,catid,softid,....)
SELECT chid,catid,softid... FROM `downitems` WHERE itemid >= (SELECT floor(RAND() * (SELECT MAX(itemid) FROM `downitems`))) ORDER BY itemid LIMIT 1000;

然后可以修改1000的數(shù)字了。改為5000或者1萬(wàn)。很快可以達(dá)到100萬(wàn)的數(shù)據(jù)量了。

相關(guān)文章

  • MySQL學(xué)習(xí)之事務(wù)詳解

    MySQL學(xué)習(xí)之事務(wù)詳解

    在數(shù)據(jù)庫(kù)中?事務(wù)(transaction)?可以把多個(gè)SQL給打包到一起,?即將多個(gè)SQL語(yǔ)句變成一個(gè)整體,?也就是說(shuō)一個(gè)事務(wù)中的所有操作要么全部成功執(zhí)行,?要么完全不執(zhí)行.本文主要來(lái)和大家聊聊事務(wù)的使用,需要的可以參考一下
    2022-12-12
  • Windows下MySQL 5.6安裝及配置詳細(xì)圖解(大圖版)

    Windows下MySQL 5.6安裝及配置詳細(xì)圖解(大圖版)

    這篇文章主要介紹了Windows下MySQL 5.6安裝及配置詳細(xì)圖解(大圖版),需要的朋友可以參考下
    2016-04-04
  • MySql利用父id遞歸向下查詢(xún)子節(jié)點(diǎn)的方法實(shí)例

    MySql利用父id遞歸向下查詢(xún)子節(jié)點(diǎn)的方法實(shí)例

    項(xiàng)目中遇到一個(gè)需求,要求查處菜單節(jié)點(diǎn)的所有節(jié)點(diǎn),在網(wǎng)上查了一下,大多數(shù)的方法用到了存儲(chǔ)過(guò)程,由于線上環(huán)境不能隨便添加存儲(chǔ)過(guò)程,所以自己寫(xiě)一個(gè),這篇文章主要給大家介紹了關(guān)于MySql利用父id遞歸向下查詢(xún)子節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • MySQL 4G內(nèi)存服務(wù)器配置優(yōu)化

    MySQL 4G內(nèi)存服務(wù)器配置優(yōu)化

    MySQL對(duì)于web架構(gòu)性能的影響最大,也是關(guān)鍵的核心部分。下面我們了解一下MySQL優(yōu)化的一些基礎(chǔ),MySQL自身(my.cnf)的優(yōu)化
    2017-07-07
  • mysql獲取當(dāng)前日期年月的兩種實(shí)現(xiàn)方式

    mysql獲取當(dāng)前日期年月的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了mysql獲取當(dāng)前日期年月的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mysql數(shù)據(jù)庫(kù)刪除重復(fù)數(shù)據(jù)只保留一條方法實(shí)例

    mysql數(shù)據(jù)庫(kù)刪除重復(fù)數(shù)據(jù)只保留一條方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫(kù)刪除重復(fù)數(shù)據(jù),只保留一條的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MySQL中的布爾值,怎么存儲(chǔ)false或true

    MySQL中的布爾值,怎么存儲(chǔ)false或true

    這篇文章主要介紹了MySQL中的布爾值,怎么存儲(chǔ)false或true的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • mysql查詢(xún)結(jié)果輸出到文件的方法

    mysql查詢(xún)結(jié)果輸出到文件的方法

    下面小編就為大家?guī)?lái)一篇mysql查詢(xún)結(jié)果輸出到文件的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • sql語(yǔ)句中l(wèi)ike的用法詳細(xì)解析

    sql語(yǔ)句中l(wèi)ike的用法詳細(xì)解析

    以下是對(duì)sql語(yǔ)句中l(wèi)ike的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-08-08
  • linux采用binary方式安裝mysql

    linux采用binary方式安裝mysql

    這篇文章主要為大家詳細(xì)介紹了linux采用binary方式安裝mysql步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評(píng)論