在sqlserver中现在在有一个批次码表a,一个具体的码表b
b表里面有几千万条数据,查的时候太慢,现在要将码表分表,每个表最好不超过500万,但是同一个一个批次的码,要放在同一个表上。.
因为a表有数量,我本来打算手动select top n sum(num) a,只要接近500万,就记录n,然后insert into 分表 select b where p_id in(select top n sum(num) a).但是in的话,太慢了,而且几千万,分500万一个表,我要手动操作十多次,有没有什么方法可以简单快捷地优艾设计网_Photoshop问答把表根据该字段自动分表了?
0987wang 14小时前
LineNo BatchID优艾设计网_Photoshop百科 ID-------------------- ----------- -----------1 1 12 1 23 1 34 1 45 1 56 2 17 2 28 2 39 2 4总体的数据可以根据LineNo来计算行数
诤与道相违 优艾设计网_设计模板 14小时前
建议贴出慢sql和表的ddl语句,分析一下慢的原因。
zxcvbgfdsaqw 优艾设计网_Photoshop百科 14小时前
看题主的描述感觉还没到达需要分表的地步,mssqlserver性能不至于这么差吧?
360U3182113893 优艾设计网_设计百科 14小时前
你可以试试用row_number
精彩评论