zoukankan      html  css  js  c++  java
  • select * 和select 所有字段的区别

    文章取自http://blog.csdn.net/u014305991/article/details/44964171

    MySQL 5.1.37 
    表记录数41,547,002,即4000w行

    使用远程客户端取1000条数据,统计时间:

    SELECT * FROM dmsp.dmsp_dimension_content LIMIT 0, 1000; 
    时间2.218s,网络消耗0.547s

    SELECT idappidaoptuidsidpidpnamebidbnameptypesmsvbtnationalareaov FROMdmsp.dmsp_dimension_content LIMIT 0, 1000; 
    取出所有字段,时间2.250s,网络消耗0.578s 
    多次查询(改变limit条件避免缓存),时间变化不大。

    结论:两者差别几乎可忽略。所以查询所有字段(或者大多数字段)的时候,大可select *来操作。如果某些不需要的字段数据量特别大,还是写清楚字段比较好,因为这样可以减少网络传输。

    (1)SELECT *,需要数据库先 Query Table Metadata For Columns,一定程度上为数据库增加了负担。 
    但是实际上,两者效率差别不大。

    (2)考虑到今后的扩展性。 
    因为程序里面你需要使用到的列毕竟是确定的, SELECT * 只是减少了一句 SQL String 的长度,并不能减少其他地方的代码。

    综上:除平时练习使用,其他情况都不推荐使用 SELECT * FROM xxx

  • 相关阅读:
    HDU 2100 LoveKey
    HDU 2111 Saving HDU
    HDU 2132 An easy problem
    PAT 甲级 1081 Rational Sum (数据不严谨 点名批评)
    LWIP内存管理
    LWIP带UCOS操作系统移植
    LWIP协议栈2-
    LWIP协议栈1
    掌握所有IO口的外部中断
    熟悉相关电路,控制I/O口,且配置相关参数,LED,光敏,74LS164数码管
  • 原文地址:https://www.cnblogs.com/shuaiandjun/p/7239135.html
Copyright © 2011-2022 走看看