高分请教:如何平衡索引与INSERT、UPDATE的速度冲突?

apusic 2001-05-01 10:09:00
大家都知道,建立索引后,查询速度可以加快很多,但同时INSERT、UPDATE等操作的速度相应减慢,现在如何平衡这两个速度冲突?
...全文
260 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
guo 2001-08-03
  • 打赏
  • 举报
回复
create database/alter database时创建group
wwl007 2001-08-03
  • 打赏
  • 举报
回复
如何创建文件组
guo 2001-08-03
  • 打赏
  • 举报
回复
如果是sql建议将索引通过filegroup与实际数据分隔开,而该filegroup又在不同的物理磁盘上.
如:create index on filegroup othergroup;
如果是oracle通过tablespace与实际数据分隔

另外如果一次装载数据较多建议将索引重建放在数据装载后进行.
guo 2001-08-03
  • 打赏
  • 举报
回复
如果是sql建议将索引通过filegroup与实际数据分隔开,而该filegroup又在不同的物理磁盘上.
如:create index on filegroup othergroup;
如果是oracle通过tablespace与实际数据分隔

另外如果一次装载数据较多建议将索引重建放在数据装载后进行.
yling 2001-08-03
  • 打赏
  • 举报
回复
你是指多用户访问的时候吧,有的select,有的update这种情况吧,如果表比较大,而且频繁访问,可以采用表分割的办法(sybase中有这个功能),放到多个物理设备上,提高数据流量的带宽
hzslx 2001-08-03
  • 打赏
  • 举报
回复
ok
quickp 2001-08-03
  • 打赏
  • 举报
回复
g
nononono 2001-05-03
  • 打赏
  • 举报
回复
如果表中的大量旧数据是不变的, 可以考虑分割数据为2个表, 对数据的修改主要是在一个比较小的表中进行, 待数据不再需要修改时,转到另一个表中. 对2个表的查询可以用union合并成一个数据集. 当然, 分成2个表会降低查询效率(即使使用union).
Fxx 2001-05-03
  • 打赏
  • 举报
回复
不要最后一起commit,每几十条commit一次估计能快点
mycode 2001-05-02
  • 打赏
  • 举报
回复
要看Insert,Update时处理的记录数的多少;每一次Insert或Update只影响几条或十几条记录;可以先建上索引再用,如果一次要Insert几千条记录,还是先Insert后Select;
具体要求,具体分析.

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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