大表拆分小表,update时怎么办??????

zhuyx808 2008-05-27 03:49:10
(数据库2000)
有一个person表,里面数据几十万,需要频繁更新和查询,因为并发问题,导致经常死锁,所以现在想把这个大表拆分成同构的小表,对于查询的时候我可以通过union all视图的方式查询,但是要update的时候怎么办?以前有很多关于这个表的update操作,要改起来很麻烦,有没有什么方便的方式能轻松的改掉以前的存储过程?


主要问题就是我update的时候怎么方便那?
举个例子就是,person表分成 person1,person2,person3。。。。。 几个小表,结构一样,

以前有存储过程有很多这样的 update person set id=@id,name=@name where pid=@pid
或者这样的 select pid,id,name from person where pid=@pid

我现在改的话有没有什么好的方法????
...全文
148 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacklee_888 2008-05-27
  • 打赏
  • 举报
回复
直接拆分不是辦法。應該理一下update的相關問題才決定做法。應該來說person這種基本資料update頻率很高的機會不大才可以。可以考慮把一些功能獨立出去處理而不是直接搬資料.
zhuyx808 2008-05-27
  • 打赏
  • 举报
回复
name字段的全文索引,当然这个person只是个例子表,实际中有个表字段是“公司名称”,对这个做的全文索引
-狙击手- 2008-05-27
  • 打赏
  • 举报
回复
应该考虑对其进行全文索引的表中发生的更改数以及表的行数
-狙击手- 2008-05-27
  • 打赏
  • 举报
回复
你这个人员表想对哪个字段全文索引呀?
似乎。。。。

而且频繁更新对填充来说。。。。
zhuyx808 2008-05-27
  • 打赏
  • 举报
回复
还是说我在小表中继续建立全文索引,那一个大表的全文索引和几个小表的全文索引哪个速度更快?在一个应用中哪种发生死锁的几率更小?
zhuyx808 2008-05-27
  • 打赏
  • 举报
回复
我原来的person是在查询的时候使用了全文索引的,现在分成几个小表后,对于查询有没有影响?哪种更好?
ws_hgo 2008-05-27
  • 打赏
  • 举报
回复
UP
Limpire 2008-05-27
  • 打赏
  • 举报
回复
分区视图是可更新的。
-狙击手- 2008-05-27
  • 打赏
  • 举报
回复
查联机帮助:可更新视图
zhuyx808 2008-05-27
  • 打赏
  • 举报
回复
小楼,分区视图是不是只对查询有效,从那些概念上我只能这么判断,对update/delete/insert都有效吗?涉及危险操作,还是得个肯定答案比较好。。
-狙击手- 2008-05-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Limpire 的回复:]
person1,person2,person3。。。。。 几个小表作为基表

创建分区视图person

update/delete/insert都可以只针对person来操作,你原来的程序还不用改。
[/Quote]
Limpire 2008-05-27
  • 打赏
  • 举报
回复
person1,person2,person3。。。。。 几个小表作为基表

创建分区视图person

update/delete/insert都可以只针对person来操作,你原来的程序还不用改。
dawugui 2008-05-27
  • 打赏
  • 举报
回复
友情帮顶.
Limpire 2008-05-27
  • 打赏
  • 举报
回复
做成分区视图

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧