使用数据库中某个表比较大,但每次使用的可能只是其中的一部分特点的记录,包括后续的数据的再次查询处理等,是否可以把这部分记录查询出来,然后每次用就建立一张临时表来处理,不知道是否可行,应该怎么操作?
比如有一张表table1,使用的记录常常是下面的
set rs=queryext("select * from table1 where id<10")

解决方案 »

  1.   

    这个不用给你的id加个索引,速度还是很快的,要是数据量超大,那就考虑分区,
    把不同ID范围的数据
    分别存储在不同的分区架构上。
      

  2.   

    不算大,有索引就不会太慢,
    下面是分区表例子,根据ID大小把表分区存储,查询时自动根据ID范围查找相关存储。
    CREATE PARTITION FUNCTION myRangePF1 (int)
    AS RANGE LEFT FOR VALUES (1, 100, 1000) ;
    GO
    CREATE PARTITION SCHEME myRangePS1
    AS PARTITION myRangePF1
    TO (test1fg, test2fg, test3fg, test4fg) ;
    GO
    CREATE TABLE PartitionTable (col1 int, col2 char(10))
    ON myRangePS1 (col1) ;
    GO
      
      

  3.   

    没有索引,这张表不适合加索引,每条记录的区分是通过两个字段不同的查询组合来实现的
    比如
    名称   方向
    A      X
    A     Y
    A     Z
    B     X
    B     Y
    B     Z