我有一张表,里面有100万条数据。
表名:Emp
字段有:Code --主键,自动增长 ,
        Age ,
       Name ,
       Sex .我用 select * from Emp 查询出所有的数据需要 大约 17 秒。怎样才能提高查询速度???

解决方案 »

  1.   

    看看这个
     http://tech.it168.com/a2009/0218/265/000000265868.shtml
      

  2.   

    1、设计合适的索引,利用索引可以提高条件查询速度,特别是where子句有索引字段时
    2、实际查询数据时不会将数据全部查询出来的,而是分页查询,每次只查需要看的数据
    3、尽量避免select * from 而应该只select需要用到的字段。
      

  3.   

    请尽量不要用*查询,要什么字段,查什么字段,常用的查询字段上可以适当建立索引。另外尽量用where条件筛选结果
    索引语法
    CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
        ON { table | view } ( column [ ASC | DESC ] [ ,...n ] ) 
    [ WITH < index_option > [ ,...n] ] 
    [ ON filegroup ]< index_option > ::= 
        { PAD_INDEX |
            FILLFACTOR = fillfactor |
            IGNORE_DUP_KEY |
            DROP_EXISTING |
        STATISTICS_NORECOMPUTE |
        SORT_IN_TEMPDB  
    }如 CREATE UNIQUE CLUSTERED INDEX Idx1 ON t1.c
      

  4.   


    我用top ,根据自动增长列去分页的话效率确实很高。我想全部查出来,能不能提高效率啊??
      

  5.   

    select * from table 这个用不上索引建立表分区吧。或者买牛B的硬件