和朋友接了个CASE,数据量比较大,想先了解一下,希望大家能提供帮助。

解决方案 »

  1.   

    在对海量数据进行查询处理过程中,查询的SQL语句的性能对查询效率的影响是非常大的,编写高效优良的SQL脚本和存储过程是数据库工作人员的职责,也是检验数据库工作人员水平的一个标准,在对SQL语句的编写过程中,例如减少关联,少用或不用游标,设计好高效的数据库表结构等都十分必要。
      

  2.   

    熟悉业务,设计良好的索引;
    注意服务器的CPU消耗;
    做压力测试。
      

  3.   

    熟悉业务,设计良好的索引;
    注意服务器的CPU消耗;
    做压力测试。
      

  4.   

    MS SQL Server之所以多年来比Oracle看起来在处理事务事慢,其中一个原因就是SQL Server基于更严格的默认加锁策略。在SQL Server2005中提供了“静态快照”方法,可以让整个数据库默认地转变为这种加锁方式(尽管msdn上说静态快照这样并不快,但是我想这是视角与一般开发人员的理解稍有些不同)。当然,在SQL Server2000甚至更早,许多人就知道查询时要使用“With Nolock”修饰。不过这其实不能像静态快照那样保证一个事务中查询数据前后一致。第二点,如果数据确实很大,应该使用分区操作。SQL Server很早就支持自动分区操作。只要在表中设置好分区,在一个SQL中对整体数据操作可以自动分布到不同的分区表中并行执行。
      

  5.   

    如果不是SQL Server,原理类似。当然,还要明白什么才算是“海量数据库”。现在这个年代,100G也许不算是一个海量的数据库,可以用常规的索引、(异步)触发器(统计快照)等设计方式来优化。