国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

MySQL快速插入一億測試數據

瀏覽:92日期:2023-10-01 14:02:01
目錄1、建表1.1 建立測試表 t_user1.2 創建臨時表2、生成數據2.1 用 python生成 【一億】 記錄的數據文件(這個確實稍微花點時間)2.2 將生成的文件導入到臨時表tmp_table中3、以臨時表為基礎數據,插入數據到t_user中4、參考1、建表1.1 建立測試表 t_user

CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c_user_id` varchar(36) NOT NULL DEFAULT ’’ COMMENT ’用戶Id’, `c_name` varchar(22) NOT NULL DEFAULT ’’ COMMENT ’用戶名’, `c_province_id` int(11) NOT NULL COMMENT ’省份Id’, `c_city_id` int(11) NOT NULL COMMENT ’城市Id’, `create_time` datetime NOT NULL COMMENT ’創建時間’, PRIMARY KEY (`id`), KEY `idx_user_id` (`c_user_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;1.2 創建臨時表

CREATE TABLE `tmp_table` ( `id` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

MySQL快速插入一億測試數據

2、生成數據2.1 用 python生成 【一億】 記錄的數據文件(這個確實稍微花點時間)

python -c 'for i in range(1, 1+100000000): print(i)' > base.txt

MySQL快速插入一億測試數據

MySQL快速插入一億測試數據

MySQL快速插入一億測試數據

2.2 將生成的文件導入到臨時表tmp_table中

找到對應的數據庫

Type ’help;’ or ’h’ for help. Type ’c’ to clear the current input statement. mysql> use test;Database changedmysql> show tables;+----------------+| Tables_in_test |+----------------+| student|| t_user || tmp_table |+----------------+3 rows in set (0.00 sec)

執行導入命令

mysql> load data infile ’E:/base.txt’ replace into table tmp_table;ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statementmysql>

導入數據時有可能會報錯,原因是mysql默認沒有開secure_file_priv( 這個參數用來限制數據導入和導出操作的效果,例如執行LOAD DATA、SELECT … INTO OUTFILE語句和LOAD_FILE()函數。這些操作需要用戶具有FILE權限。 )

解決辦法:在mysql的配置文件中(my.ini 或者 my.conf)中添加 secure_file_priv = 文件所在的路徑 , 然后重啟mysql 解決。添加自己文件放置的路徑即可。

可以用 show variables like ’%secure%’; 先看一下配置:

mysql> show variables like ’%secure%’;+--------------------------+-------+| Variable_name | Value |+--------------------------+-------+| require_secure_transport | OFF || secure_auth | ON || secure_file_priv | NULL |+--------------------------+-------+3 rows in set, 1 warning (0.00 sec)

說明:

secure_file_prive=null 限制mysqld 不允許導入導出secure_file_priv=/var/lib/mysql-files/ 限制mysqld的導入導出只能發生在/var/lib/mysql-files/目錄下secure_file_priv=’ ’ 不對mysqld的導入導出做限制

注意:配置要添加到 [mysqld] 節點下,至于路徑加不加引號,你可以試試:

MySQL快速插入一億測試數據

重啟MySQL,先查看配置:

mysql> use test;Database changedmysql> show variables like ’%secure%’;+--------------------------+-------+| Variable_name | Value |+--------------------------+-------+| require_secure_transport | OFF || secure_auth | ON || secure_file_priv | E: |+--------------------------+-------+3 rows in set, 1 warning (0.00 sec)

再重新導入:

mysql> load data infile ’E:/base.txt’ replace into table tmp_table;Query OK, 100000000 rows affected (3 min 53.42 sec)Records: 100000000 Deleted: 0 Skipped: 0 Warnings: 0 mysql>

億級數據,233.42s,看一下別人的數據,差不多就是這個。

MySQL快速插入一億測試數據

3、以臨時表為基礎數據,插入數據到t_user中

一億數據需要:快半個小時了。。。(或許直接在命令行下運行更快點...)

MySQL快速插入一億測試數據

更新創建時間字段讓插入的數據的創建時間更加隨機:

mysql> UPDATE t_user SET create_time=date_add(create_time, interval FLOOR(1 + (RAND() * 7)) year);Query OK, 100000000 rows affected (7 min 24.17 sec)Rows matched: 100000000 Changed: 100000000 Warnings: 0 mysql> UPDATE t_user SET create_time=date_add(create_time, interval FLOOR(1 + (RAND() * 7)) year);Query OK, 100000000 rows affected (8 min 2.49 sec)Rows matched: 100000000 Changed: 100000000 Warnings: 0

到此,一億數據插入結束。

4、參考

MySQL如何快速的創建千萬級測試數據

The MySQL server is running with the --secure-file-priv option

到此這篇關于MySQL快速插入一億測試數據的文章就介紹到這了,更多相關MySQL 插入一億數據內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 欧美xxxxxxxxxxxxx| 欧美午夜免费观看福利片 | 久久成人免费播放网站 | 国产美女精品一区二区三区 | 欧洲女同互慰在线视频 | 国产成人亚洲精品77 | 国产一级精品高清一级毛片 | 北条麻妃在线一区二区 | 亚洲性在线 | 欧美一区二区在线播放 | 一级片视频在线 | 亚洲 欧美 91 | 久久精品一区二区三区不卡牛牛 | 国产欧美日韩综合精品无毒 | 成人毛片免费观看视频 | 日韩欧美在线观看一区 | 草草视频在线观看最新 | 久久久久欧美精品网站 | 亚洲国产成人影院播放 | 深夜国产成人福利在线观看女同 | 成年人免费观看视频网站 | 91久久99久91天天拍拍 | 亚洲欧美日本视频 | 国产精品国产三级国产普通 | 免费一级a毛片在线播 | 在线观看精品视频一区二区三区 | 国产丝袜不卡一区二区 | 国产美女一区二区 | 成人免费视频网址 | 国产精品亚洲一区二区在线观看 | 日本综合久久 | 国产精品国产三级国产专 | 国产99久久精品 | 国产黄色美女 | 宅女福利视频在线看免费网站 | 欧美成人精品久久精品 | www中文字幕在线观看 | 中文国产成人精品久久久 | 欧美韩国日本在线 | 午夜免费的国产片在线观看 | 久久亚洲精品成人综合 |