mysql - 怎么能快速地分表
問題描述
在sqlserver中現(xiàn)在在有一個批次碼表a,一個具體的碼表bb表里面有幾千萬條數(shù)據(jù),查的時候太慢,現(xiàn)在要將碼表分表,每個表最好不超過500萬,但是同一個一個批次的碼,要放在同一個表上。.因為a表有數(shù)量,我本來打算手動select top n sum(num) a,只要接近500萬,就記錄n,然后insert into 分表 select b where p_id in(select top n sum(num) a).但是in的話,太慢了,而且?guī)浊f,分500萬一個表,我要手動操作十多次,有沒有什么方法可以簡單快捷地把表根據(jù)該字段自動分表了?
問題解答
回答1:看題主的描述感覺還沒到達需要分表的地步,mssqlserver性能不至于這么差吧?
建議貼出慢sql和表的ddl語句,分析一下慢的原因。
回答2:你可以試試用row_number
;WITH code(BatchID,ID)AS( SELECT 1,1 UNION ALL SELECT 1,2 UNION ALL SELECT 1,3 UNION ALL SELECT 1,4 UNION ALL SELECT 2,1 UNION ALL SELECT 2,2 UNION ALL SELECT 2,3 UNION ALL SELECT 2,4 )SELECT ROW_NUMBER()OVER(ORDER BY BatchID,ID) AS [LineNo] ,*FROM code AS c
LineNo BatchID ID-------------------- ----------- -----------1 1 12 1 23 1 34 1 45 1 56 2 17 2 28 2 39 2 4總體的數(shù)據(jù)可以根據(jù)LineNo來計算行數(shù)
相關(guān)文章:
1. javascript - sublime快鍵鍵問題2. javascript - immutable配合react提升性能?3. Apache 已經(jīng)把網(wǎng)站根目錄的改為allow from all了,但是服務(wù)器還是不能訪問?4. javascript - 移動端上不能實現(xiàn)拖拽布局嗎?5. 實現(xiàn)bing搜索工具urlAPI提交6. vue.js - Vue 如何像Angular.js watch 一樣監(jiān)聽數(shù)據(jù)變化7. javascript - nodejs關(guān)于進程間發(fā)送句柄的一點疑問8. phpstudy8.1支持win11系統(tǒng)嗎?9. 如何解決Centos下Docker服務(wù)啟動無響應(yīng),且輸入docker命令無響應(yīng)?10. css - 寫頁面遇到個布局問題,求大佬們幫解答,在線等,急!~

網(wǎng)公網(wǎng)安備