要看Insert,Update时处理的记录数的多少;每一次Insert或Update只影响几条或十几条记录;可以先建上索引再用,如果一次要Insert几千条记录,还是先Insert后Select;
具体要求,具体分析.

解决方案 »

  1.   

    不要最后一起commit,每几十条commit一次估计能快点
      

  2.   

    如果表中的大量旧数据是不变的, 可以考虑分割数据为2个表, 对数据的修改主要是在一个比较小的表中进行, 待数据不再需要修改时,转到另一个表中. 对2个表的查询可以用union合并成一个数据集. 当然, 分成2个表会降低查询效率(即使使用union). 
      

  3.   

    你是指多用户访问的时候吧,有的select,有的update这种情况吧,如果表比较大,而且频繁访问,可以采用表分割的办法(sybase中有这个功能),放到多个物理设备上,提高数据流量的带宽
      

  4.   

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

  5.   

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

  6.   

    create database/alter database时创建group