iT邦幫忙

0

請問Mysql 批次處理大量數據的軟體,大家都使用什麼軟體操作?

小弟的網站,有時候會需要先整理數據
再REPLACE or INSERT 到Mysql 的需求
但是資料量又有點龐大,雖然也沒到很大。
大約一個表 15000~20000筆數上下
但是透過 Excel 處理速度真的很慢。
有時候一按篩選,就等超久
我所謂的超久是:每用Excel操作一次篩選,可能都要等個 30秒以上
我自認為自己的筆電應該不會差到哪去
我需要一個篩選速度可以很快判斷的軟體,又可以連Mysql當然更好。

想請問各位大大,有類似的需求你們都採用什麼樣的軟體整理資料呢?

看更多先前的討論...收起先前的討論...
ckp6250 iT邦新手 3 級 ‧ 2019-11-22 16:19:41 檢舉
您用 Excle 去 REPLACE or INSERT 到 Mysql ?
是的沒錯
我替你家的server難過@@"
它太可憐了。
Why?
會有什麼樣的影響嗎?
0
echochio
iT邦研究生 2 級 ‧ 2019-11-22 16:51:56

用任何程式都可, 我會用 python 寫 ......
反正是電腦在做 ...
用任何程式都可 例如 excel 的 VBA , 快一點用 C# 也行
問題是你要做到什麼動作? 用你熟悉的語言寫都可

喔可以試試看

0
浩瀚星空
iT邦大師 1 級 ‧ 2019-11-22 17:19:16

如果是mysql。給你的關鍵字「導航貓」「Navicat」

不過一般可以的話。最好還是用sql檔的方式給mysql命令用會比較好。
無論用任何軟體來說。都是會比直接命令還要慢很多的。

因為一般軟體很多如果你非用正常規格的話。常常使用的動作是一筆一筆的插入。
這可會對你的server造成很大的負載。效率上也會非常的差。

navicat 可以像excel 處理篩選嗎?

要說可以也可以,要說不行也不行。
你可能會覺得很亂。

認真來說,原因在於你要處理的資料格式為何。要用什麼軟體來處理。
你總不能要求機車可以跟飛機一樣飛。得先有這樣的認知才行。

剛看了你給其它人的回應。推測你想要用excel的過濾能力。
但其實excel的強項並不在這。那就是他的處理速度了。
當然,並不太清楚你做了何種處理。如果說你的資料中有包含了許多公式。
然後你又做篩選處理。自然就會慢很多。

但就如我說的,你在一開始將格式轉成專門處理的資料。如資料庫的sql格式。先將資料給導入後再用他的方式處理就會快很多。

現在的重點並不是我們告訴你什麼。而是你想要做什麼。
其實已經很多人給你答案了。但你覺得這不是你想要的東西。
因為你不清楚我們說的工具及資料應用的方式。

認真來說,處理幾百萬筆根本沒有什麼。更何況是你這種才幾萬筆的資料。
但如果要叫我一定要用excel來處理。我也只能跟你說辦不到。

了解了
謝謝用心地回復解說

1
小魚
iT邦大師 1 級 ‧ 2019-11-22 17:36:18

如果是SQL語法,
直接丟給Server去做就好,
可以用命令提示字元,
或是HeidiSQL可以考慮,

如果是要寫程式跑,
Excel之外其實都可以,
可以用C#、VB、PHP、Python、C++(這個太難、算了)
等等的都可以,
看你想要學哪一種...

ccutmis iT邦高手 9 級 ‧ 2019-11-22 17:43:55 檢舉

其實也有一種簡單的方法幾乎不用寫程式:
1)excel 輸出csv或 tsv檔,然後用 notepad++ 讀入csv或tsv檔,
2)在notepad++裡面用規則運算式尋找取代把內容重排成 sql 檔,
3)然後用dos cmd把sql匯進資料庫...例如 mysql -uroot myDb<newdata.sql

這個都沒有問題
問題是我在處理excel的時候很慢。

0
海綿寶寶
iT邦大神 1 級 ‧ 2019-11-22 22:08:48

但是透過 Excel 處理速度真的很慢。
有時候一按篩選,就等超久
我所謂的超久是:每操作一次,可能都要等個 30秒以上

「篩選」指的是 Excel 裡的篩選嗎?
每「操作一次」指的是「在Excel的操作」?

如果兩個答案都是「是」
那跟 MySQL 有什麼關係
/images/emoticon/emoticon19.gif

如果超久是指「將 Excel 檔案匯入至 MySQL」的話
最快的方法是
1.將 Excel 另存成 csv 檔案
2.「將 csv 檔案匯入至 MySQL」

選我正解

我"操作一次"是指在 excel 操作

insert 跟 replace 當然速度都很快

慢的是Excel

既是如此
我唯一想到的方法
就是「關閉自動重算」

如何關閉
可參考這篇

OK 感謝

我要發表回答

立即登入回答