分享更有价值
被信任是一种快乐

select * 和 select所有字段的区别有哪些

文章页正文上

这篇文章主要介绍select * 和 select所有字段的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL 5.1.37表记录数 41,547,002,即 4000+w 行。使用远程客户端取 1000 条数据,统计时间:SELECT * FROM dmsp.dmsp_dimension_content LIMIT 0, 1000;时间 2.218s,网络消耗 0.547s 。SELECT id, appid, aop, t, uid, sid, pid, pname, bid, bname, ptype, sm, sv, bt, national, area, ov FROM dmsp.dmsp_dimension_content LIMIT 0, 1000;取出所有字段,时间 2.250s,网络消耗 0.578s 。多次查询(改变 limit 条件避免缓存),时间变化不大。结论:两者差别几乎可忽略。所以查询所有字段(或者大多数字段)的时候,大可 select * 来操作。如果某些不需要的字段数据量特别大,还是写清楚字段比较好,因为这样可以减少网络传输。(1)减少数据的负担。SELECT *,需要数据库先 Query Table Metadata For 免费主机域名Columns,一定程度上为数据库增加了负担(影响网络传输的性能),但是实际上,两者效率差别不大。(2)考虑到今后的扩展性。因为程序里面你需要使用到的列毕竟是确定的, SELECT * 只是减少了一句 SQL String 的长度,并不能减少其他地方的代码。(3)索引问题select abc from table; 和 select * from table;在 abc 字段有索引的情况下,mysql 是可以不用读 data,直接使用 index 里面的值就返回结果的。但是一旦用了 免费主机域名select *,就会有其他列需要读取,这时在读完 index 以后还需要去读 data 才会返回结果,这样就造成了额外的性能开销。综上:除平时练习使用,其他情况都不推荐使用 SELECT * FROM XXX 。以上是“select * 和 select所有字段的区别有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注云技术行业资讯频道!

相关推荐: 怎么解决DataGuard环境中主库RMAN删除归档时报ORA-08137问题

本篇内容主要讲解“怎么解决DataGuard环境中主库RMAN删除归档时报ORA-08137问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决DataGuard环境中主库RMAN删除归档时报ORA-0813…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册