[英]Importing a table from CSV in a schema takes too time in mysql WorkBench
[英]downloading a mysql table too large to fit in memory into csv files (using WorkBench)
我在 mysql 數據庫中有一些巨大的 sql 表(> 50M)存儲。 我只需要將它們下載到.csv 文件中。
我知道我可以通過以下方式限制返回值的大小:
SELECT * FROM myTable
LIMIT 1000000;
但是,對於 >1M 行,我一直用完 memory。
此外,由於某種原因,如果使用 MySQL Workbench 5.2.47 以外的任何其他客戶端,我會收到來自服務器的握手失敗應答/連接被拒絕。 所以我必須堅持這個工具和版本。 另外,我不能更換機器,所以 memory 限制是一個約束。
如何實現並循環下載並存儲 csv 文件中的大表,並確保結果的順序和唯一性?
您可以使用SELECT INTO FILE
來生成csv
。 生成 1M 行的文件應該沒有任何問題。
有關屬性語法和字段分隔符等,請參閱文檔。
https://dev.mysql.com/doc/refman/8.0/en/select-into.html
一個個人樣本SELECT * INTO OUTFILE '/<OUTPUT_DIR>/export.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM TABLE_NAME <WHERE condition> <ordering> LIMIT <BATCH_SIZE>;"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.