Mysql

有什麼方法可以估計 SQL 轉儲文件所需的空間?

  • June 20, 2013

我想將 Wikipedia XML 轉儲文件導入 MySQL。未壓縮的 XML 轉儲文件為 65GB。這是否意味著我應該在 MySQL 數據路徑中釋放近 64GB 空間?有沒有辦法估計所需的空間?

這是 sql 架構:https ://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2Ftables.sql

我已經在兩個方向上處理過這樣的問題

您的問題有點不同,因為您沒有提供有關目標 MySQL 實例的任何資訊(將使用什麼儲存引擎,哪些列是 TEXT/BLOB,您的數據需要什麼索引等)

恕我直言,我能想到的最直接的方法如下

方法#1

編寫一些 Perl/Python 腳本來計算所有 XML 標記分隔符的長度。從文件的長度中減去你得到的總和。這基本上是 CSV 文件的大小,沒有分隔符。這將是原始數據的字節。

方法#2

執行 METHOD #1 併計算所有 XML 標記分隔符的計數,並將該計數添加到 METHOD #1 的結果中。這就像將逗號添加回 CSV 文件。如果您將輸出列印到這樣的文件,這會使大小更接近實際的 CSV。

引用自:https://dba.stackexchange.com/questions/44952