Select * From UserInfo 与 Select ID,Name From UserInfo 有什么区别啊 表中就有这俩个字段。有什么前面的方法性能低!还有Select *,1 PersistStatus  From UserInfo 是什么意思?

解决方案 »

  1.   

    1. 除非你确实需要表中的每个列,否则最好别使用*通配符。虽然使用通配符可能会使你自己省事,不用
       明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
    2. 检索UserInfo表中的所有列中的数据, 在显示的数据结果中增加一列, 该列名为PersistStatus, 该列
       的所有值为1. 
      

  2.   

    Select ID,Name From UserInfo 写出字段比*快,
      

  3.   

    当数据量庞大的时候,用Select ID,Name From UserInfo 这种模式效率高。
      

  4.   

    你定义的表确实只有两列,但可能数据库自己还有维护字段,如Oracle中的rowid。。
      

  5.   

    Select * From UserInfo 与 Select ID,Name From UserInfo 有什么区别啊?表中就有这俩个字段。有什么前面的方法性能低?表面上没区别,查询结果都一样,本质上有区别,前面是遍历表中的所有列,后面是直接定位列,当然后面快
    还有Select *,1 PersistStatus  From UserInfo 是什么意思?意思就是你会出现3列结果,一列是ID,一列是NAME,一列是固定常量列,列名为PersistStatus,但是这列的数据为常量1
      

  6.   

    这个问题我就只两天才知道,前面的只是在平常用用,要是你去面试的时候,面试官叫你写个SQL查询语句,可千万别这么写哦,要是这么写了,他会认为你对SQL一点都不熟悉,在平常的时候,除非是字段非常多,不然最好都别写select * from 表,最好是把各个字段写清楚,养成良好的习惯嘛!