假如mongodb有 50萬資料, 而且每條資料量還挺大,需要導到表裡面.
插入多的情況,可以把錶的引擎修改為 myisam ,多強調一句,索引一定得重視.
這個時候 初始的想法,分頁查詢,一條條的寫,但是發現,查詢一批加上每條都要寫,效率好差,一天搞不完,還得加班.
稍微改進一下: 加上多執行緒, 查詢mongodb還是單執行緒,不過寫到 db 封裝成方法,用執行緒池來跑.
速度是快了,不過還有乙個問題: 太多執行緒就會占用太多資料庫連線,導致環境的正常執行.
所以有沒有 執行緒不是太多,但是 又可以 快速的方法呢?
必須的有 ------ 那就是 多執行緒+分頁查詢+批量寫入
改造之後的思路就是: 還是單執行緒分頁查詢mongdb, 不過分頁查詢的資料不是一條一條的寫入 db中了, 而是 生成 sql陣列,
批量一次性插入資料庫,沒有太多的網路連線, 然後批量寫的過程 再加上多執行緒的 翅膀 .
50萬資料, 1個多小時就搞完.
這個還有一點 分頁查詢 一定需要 加上 排序字段, 不管是 mongdb 還是 mysql .
切記寫 mysql 寫 limit,資料量只要有幾十萬,就得加上 order by 字段(還得是加上索引的字段).
oracle 如何 導表
兩種方式 第一種方便 第一種執行匯入沒有反應的話 可以用第二種。1.方法一 利用pl sql developer工具匯出 選單欄 1,開啟 開始 輸入cmd 2,將d daochu.dmp 中的資料匯入 test資料庫中。在此之前,要明確,使用者名稱 此例 system 密碼 manager 例項名...
mysql導表資料
匯出表結構及資料 mysqldump uroot h com p dbname tablename tablename.txt 僅匯出表結構加 d mysqldump uroot h com p d dbname tablename tablename.txt 備份所有資料庫 mysqldump u...
mysql表的匯出匯入 MySQL表資料匯入與匯出
load data infile load data infile語句可以快速將文字記錄匯入到表中,select into outfile可以將表中資料匯入到檔案中,兩者的fields lines子句語法相同。執行語句的使用者需要有file許可權,且mysql使用者對資料檔案可讀。mysqlimpo...