我们一般写SQL语句是这样的的
string sql="select * from tablename where colname='"+colname_value+"'";
如果是这样写 会不会有性能损失
string sql=string.Format("select * from tablename where colname={0}",colname_value);

解决方案 »

  1.   

    没有.性能损失在select * 这里.
    不要全查询出来,只查询需要的字段.
      

  2.   

    性能损失在 select * 
     
    这个在sql优化里基本的常识,
    只选取需要的字段,不要用* 
      

  3.   

    string.Format 格式字符串,不占用系统资源末?
      

  4.   

    如果我的整个项目都用第二种写法,(至于选取需要的字段这个我清楚了),
    会不会因为
    string.Format 而占用一些系统资源呢?
      

  5.   

    string sql=string.Format("select * from tablename where colname={0}",colname_value); 建议用带参数的SQl语句
      

  6.   

    没有,就像2楼所说,你的性能消耗是在"select * " 上,在用select取数据时,只取出自己需要的字段就可以了
      

  7.   

    性能损失是相对的,看你怎么把握了。
    按说你每多写一句代码,都会损失性能,不要为了这些考虑什么优化。
    当然你可以养成好的编程习惯,拼接SQL语句用stringbuilder。
    恰当时候选择for or foreach等。