RT。。我表里面有20个字段,数据量大概是500W条左右。。
如果用select * 或者select 字段1,...字段20
哪种好?分别好在什么地方?
以前一直是用select 字段。但是刚刚看了一篇帖子。所以希望再次把这个问题搞清楚下
(看了这个帖子http://www.iteye.com/topic/1112251

解决方案 »

  1.   

    select 字段1,...字段20  好
    效率高点.
      

  2.   

    有些地方有区别
    功能方面:
    如果你的表不增加字段,功能当然是相同的,但是如果表结构有修改可能,这两个功能是不同的。
    大部分情况并不需要所有字段,这时用select *就多余了,返回多余数据是危险的。性能方面:
    你的文章是写mysql的,不作评论
    对于mssql来说,应该性能是一样的
      

  3.   

    select * 应该会先查该表有哪些字段吧,这样的话可能牵扯到查询系统表,效率上应该就比列出字段名称能差一点了.但是这种差别应该是比较微小的.
      

  4.   

    尽量避免 select * 
      

  5.   

    如果查询全部字段
    两者都一样,如果只查询表中部分字段,用Select 字段。。的效率要比Select * 高很多
      

  6.   

    一样的,select * 不会漏字段,写起来方便
      

  7.   

    区别在于:用select a,b,c,d...可以按指定的顺序排列列名,这样可以在调用该语句的程序中直接用类似于 rs(0),rs(1)...来获取相应的列值.
    而 select * ...,其列名顺序来源于建表时设置的列名前后顺序,必须知道该顺序才能确保用 rs(0),rs(1)...具体是指的哪一列.
      

  8.   

    赵松涛在《SQL Server 2000 系统管理与应用开发》中写道“常见的编写高质量的SQL语句的原则如下:尽量不用select * from ...,而要写字段名Select filed1,filed2,...。”
      

  9.   

    select 字段好  不仅可以按照你所查的顺序显示 还对你的程式有帮助
    select * 在某种情况下影响效率
      

  10.   

    虽然结果都一样,但select加上字段来查询明显效率要比select *要高
      

  11.   

    select * 比select 列名...的效率低
      

  12.   

    性能上没有差异,但应养成不用select *的习惯
      

  13.   


    一般情况下是select * 效率低一点,对于mysql来说就差不多了。不过编写习惯还是写字段吧