一个表中,用固定字段或动态字段,查询时哪种效率高?

解决方案 »

  1.   

    固定字段?动态字段?是这个意思吗?--固定字段
    select col1,col2 from tablename--动态字段
    declare @t varchar(20) set @t='col1,col2'
    exec('select ' +@t +' from tablename')
      

  2.   

    不是动态SQL语句的意思,是动态字段,有程序控制的。
      

  3.   


    用存储过程 封装列名动态语句就需要动态,只有参数为条件时可以不用动态Create proc P
    (
    @Cols nvarchar(1000)='*'--没提定时查所有列
    )
    as
    exec('select ' +@t +' from tablename')
    go
    exec P Cols='col1,col2'