MySQL優化 1億條資料效率COUNT

2021-09-02 16:10:07 字數 1716 閱讀 1565

最近發現了乙個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...