作者stevekevin10 (hippo泡)
看板Soft_Job
標題[請益] 資料庫速度問題
時間Thu May 5 21:25:43 2016
最近遇到一個狀況
有4000萬筆select and insert sql指令要跑
本來是開一隻程式在跑
但看處理速度來說會花太久時間
因此改成10隻一起跑(懶得寫成multi thread QQ)
速度提升2~3倍
請問還有甚麼方式可以再加快資料庫的速度呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.58.64
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1462454745.A.B48.html
1F:推 gn01838335: Index 建partition05/05 21:27
index有建了
partition..忘記以前上課有上過了 謝謝><
※ 編輯: stevekevin10 (111.241.58.64), 05/05/2016 21:30:42
2F:→ GoalBased: 去查大量新增的語法05/05 21:33
他的順序是...先select得到結果 做些處理再insert><
※ 編輯: stevekevin10 (111.241.58.64), 05/05/2016 21:39:25
3F:推 gn01838335: Sqlserver 找 bcp in05/05 21:40
這...沒聽過我google一下 謝謝
4F:推 sing10407: bulk insert,每秒幾千筆不是問題05/05 22:32
目前每秒6000左右不知道能不能再快點..
5F:推 ChiaHungChen: Merge05/05 22:34
merge??
6F:→ GoalBased: 學會變通阿..甚麼叫做他先怎樣怎樣..又不是定死的05/05 22:41
7F:推 vity: Hive05/05 22:46
※ 編輯: stevekevin10 (111.241.58.64), 05/05/2016 22:53:49
8F:推 et69523820: 先把Select的結果 先暫存在陣列裡面 比如Select 有一 05/05 23:43
9F:→ et69523820: 萬筆資料 透過陣列取出資料 組出一次性 insert 在一次 05/05 23:44
10F:→ et69523820: 寫入 絕對比使用多程式去執行Insert快好幾倍 05/05 23:45
11F:→ et69523820: 會慢 主要是insert一次資料 就必須更新索引一次 05/05 23:46
12F:→ ChungLi5566: 換一座storage 05/06 08:35
14F:推 cobrasgo: 只select要的,很多人無腦select * 05/06 14:22
15F:推 jinmin88: 先掃一遍select串成insert sql存檔 然後開檔bulk insert 05/06 16:11
16F:推 cpper: 才4000萬筆根本不用上面一堆人講那麼複雜,你只要安裝hp ve 05/06 19:20
17F:→ cpper: rtica , 把資料匯進去就行了,sql照跑薪水照領,哪來那麼多 05/06 19:20
18F:→ cpper: 事,又不是吃飽太閒研究這些幹嘛 05/06 19:20
19F:推 et69523820: 比較簡單付錢 想要免費比較複雜 有些公司想要免費 05/06 19:53
20F:推 locklose: 推hp vertica 05/07 01:29
21F:推 prae: 先把index的更新關掉,全部跑完再一次更新 05/07 12:33
22F:推 xva: 真的要快,就不要用sql了 05/07 13:42
23F:推 dingyuchi: elasticsearch 05/07 14:21
24F:推 tloy1966: 好像再描述清楚一點比較好 05/08 13:44
25F:→ tloy1966: 什麼DB, insert 跟select 都是4K w? 05/08 13:45
26F:→ tloy1966: 有沒有可能卡硬體速度 05/08 13:46