1. insert into `table1` (field1,field2) select field3,field4 from `table2`;
2. 如果遍歷table1,然後再插入到table2時,可以先執行乙個select空語句,把所有資料都遍歷出來,然後放到快取(這裡可能有快取命中的概率問題);
這樣繼續分段遍歷,速度、效率上就會快一些;
如果該sql語句中有left join on,遍歷出來的資料不會放到快取中,改用where 語句代替
select a.`contentid`, a.`status`, b.`content` from `#table_content` as a, `#table_article` as b where a.`contentid` = b.`contentid` and a.`status` = 6;
放到快取以後,再次執行會從快取裡取資料,執行時間為0
只是針對簡單查詢
Java往Excel寫入海量資料
最近需要往excel寫入海量資料,大約10w筆左右 超過6萬會新建乙個sheet再寫 開始使用poi的包,寫1w筆左右就out of memory了 後來換用jxl,寫1.8w筆左右報out of memory 我機器配置pentium r d 3ghz,雙核,記憶體1g 考慮到分批次寫是否會好一些...
MySQL優化之海量資料批量插入
問 為何對同乙個表的插入多執行緒會比單執行緒快?同一時間對乙個表的寫操作不應該是獨佔的嗎?答 在資料裡做插入操作的時候,整體時間的分配是這樣的 鏈結耗時 30 傳送query到伺服器 20 解析query 20 插入操作 10 詞條數目 插入index 10 index的數目 關閉鏈結 10 從這裡...
海量表資料之分頁查詢SQL優化
方案1 首先使用索引完成排序分頁操作,最後根據主鍵關聯回原表查詢所需要的其他列內容。1.普通分頁查詢 explain select film id,description from film order by title limit 50,5 掃瞄了全表,使用了filesort排序 速度很慢 2.改...