最近發現了乙個mysql快速匯入資料方法load data infile,具體參考這個文章。
下面用幾條命令來給大家看看,效率結果。
簡單說下:
1.txt ,開始只有10萬資料,後來用vim 新增到了2000萬行,用windows下的編輯器直接卡機的,windows下安裝gvim可以的。
資料表型別innodb,沒做任何的索引優化。
1.匯入10萬行記錄不到1秒
mysql> load data infile './1.txt' into table article (keywords);
query ok, 107200 rows affected (0.96 sec)
records: 107200 deleted: 0 skipped: 0 warnings: 0
2.匯入2000萬行的資料量
mysql> load data infile './1.txt' into table article (
query ok, 20000000 rows affected (5 min 53.02 sec)
records: 20000000 deleted: 0 skipped: 0 warnings: 0
3.在9000萬中統計資料,注意和第四個對比
mysql> select count(id) from article ;
+-----------+
| count(id) |
+-----------+
| 92893775 |
+-----------+
1 row in set (1 min 28.86 sec)
4.查詢1億1千萬的資料,比上乙個明顯的時間多了。
mysql> select count(id) from article ;
+-----------+
| count(id) |
+-----------+
| 112893775 |
+-----------+
1 row in set (5 min 18.83 sec)
5.用count(*)時間減少了25秒左右。
mysql> select count(*) from article ;
+-----------+
| count(*) |
+-----------+
| 112893775 |
+-----------+
1 row in set (4 min 5.53 sec)
6.用count(1)直接節省1分40秒
mysql> select count(1) from article ;
+-----------+
| count(1) |
+-----------+
| 112893775 |
+-----------+
1 row in set (3 min 36.59 sec)
2023年3月19日新增新的測試
myisam引擎
mysql> select count(1) from test;
+-----------+
| count(1) |
+-----------+
| 326039962 |
+-----------+
1 row in set (0.08 sec)
過多的話,我不說了,大家看結果吧。
上億條資料sql慢查詢優化,關聯查詢優化
資料庫測試,掃瞄512.22k行,竟然13秒 這是由於大資料量排序導致的 在不改變表機構的情況下優化,優化查詢字段看看效果時候明顯 測試單查主鍵 select a.id from table a where a.itemno 1234332 order by a.createtime desc li...
優化mysql查詢最新一條資料
title 優化mysql查詢最新一條資料 date 2019 07 24 11 23 21 categories 今天寫web時,發現有個請求一直沒有響應,用谷歌f12看了一下,請求出現了乙個問題。我第一反應是網路延遲,又試了幾次,還是這個問題,便看了一下後台控制台也沒報錯,便想是不是sql查詢時...
mysql 插入更新多條資料的效率問題
you can use this query update categories set display order case id when 1 then 3 when 2 then 4 when 3 then 5 end,title case id when 1 then new title 1...