SQL SERVER 表分区造成插入慢?
  TEZNKK3IfmPf 12天前 19 0

某日,我将一个有数千万条记录的表分区之后,数据库CPU一下子飙升到100%。
性能不降反升,什么道理?
因为这个表每天都有约500万条记录插入,难道是表压缩和索引压缩的缘故?去掉压缩,没什么变化。
索引只有两个,跟之前数量一样,应该也不是索引太多。
取消分区,CPU回复正常。难道分区是罪魁祸首?
然而不能不分区的。我也不相信是分区的缘故,有资料说分区后,不仅是查询快,插入也会快。
主要是索引的问题。因为需要用到分区切换,索引必须与分区对齐,原先的主键,就硬是塞了个分区依据列进去,变成了复合主键:
[Id] + [CreateDate]
引起CPU飙升的元凶在于这个语句
SELECT MAX(Id) FROM [table1]。
喂,Id不是索引吗?虽然是复合索引,但它是第一个字段啊。
但如果给它加上个条件:
SELECT MAX(Id) FROM [table1] WHERE Id>12312312
情况马上改善很多。
搞不懂。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 12天前 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   45   0   0 dremiosqltable
TEZNKK3IfmPf