请问在2005中的分区表,如果定义了分区键为某日期列,但select数据的时候并未用该日期作为筛选条件,是不是也能得到查询效率的提升??? 
对这个日期列加个索引,查询速度至少比没有好.具体效果不知道.还有就是文件组的数量是不是应该和CPU的数量一致呢? 
这个没听说过这么搞.

解决方案 »

  1.   

    请问在2005中的分区表,如果定义了分区键为某日期列,但select数据的时候并未用该日期作为筛选条件,是不是也能得到查询效率的提升???---不会 还有就是文件组的数量是不是应该和CPU的数量一致呢? ---不是如果以上得不到效率的提升,是不是能够将数据库放置在不同的服务器上以达到查询效率的提升, ---分开到不同服务器就将数据分散了,数据量小了,效率自然会提升,每个服务器上只是一部分数据,操作不方便,确认你要这么做.个人看法,供参考.
      

  2.   

    还有就是文件组的数量是不是应该和CPU的数量一致呢? 
    --- 肯定不是
      

  3.   

    请问在2005中的分区表,如果定义了分区键为某日期列,但select数据的时候并未用该日期作为筛选条件,是不是也能得到查询效率的提升??? ---不会  
      

  4.   

    1. 默认情况下, 索引与分区是对齐的, 也就是找到了索引的位置, 也就确定了数据所在的分区
       所以, 理论上来说, 只要满足你的条件的数据落在的分区数远远小于总分区数, 则分区表对于性能提升是有用的
    2. 文件组跟 CPU 数量没有绝对关系
        CPU 数量只是与物理磁盘数有一定的关联, 它确定可以并行I/O的数量3. 放到不同的服务器需要使用分区视图(如果要保证尽量减少现有的业务程序设计逻辑)
       在这种情况下, 是否能提升性能, 取决于sql 能否根据你的条件确定要查询的服务器(与分区视图的分区列(约束))有关,如果无法根据条件确定到那台服务器查询, 则一般来说性能会更差(因为要到所有的服务器查询, 并且查询结果要集中到一台服务器(并且有可能还在在这个结果中继续过滤),再返回给客户端)