最好在mysql中调用很多字段时使用*?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了最好在mysql中调用很多字段时使用*?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1761字,纯文字阅读大概需要3分钟。
内容图文
参见英文答案 > Why is SELECT * considered harmful? 16个
我知道通常情况下,构建mysql查询以命名您需要的每个项目总是更好的性能但是例如在个人资料页面上我可能需要除了少数几个项目之外的所有项目.
SELECT user_name,f_name,l_name,country,usa_state,other_state,zip_code,city,gender,birth_date,date_created,date_last_visit,
user_role,photo_url,user_status,friend_count,comment_count,forum_post_count,referral_count,referral_count_total,
setting_public_profile,setting_online,profile_purpose,profile_height,profile_body_type,profile_ethnicity, profile_occupation,profile_marital_status,profile_sex_orientation,profile_home_town,profile_religion,
profile_smoker,profile_drinker,profile_kids,profile_education,profile_income,profile_headline,profile_about_me,
profile_like_to_meet,profile_interest,profile_music,profile_television,profile_books,profile_heroes,profile_here_for,profile_counter FROM users WHERE user_id=1 AND user_role >
因此,如果没有进行大量测试,也许有经验丰富的人可以提出一些建议吗?
这会更糟吗?
SELECT * FROM users WHERE user_id=1 AND user_role >
我更喜欢列出所有项目,因为在那个页面上,如果我需要来自数据库的东西,但是如果它会更快,那么我很容易看到我可以使用的内容
解决方法:
注意:命名所有字段当然是最佳做法,但在本文中我将仅讨论性能优势,而不是设计或维护优势.
由于以下原因,*语法可能会更慢:
>并非所有字段都已编制索引,并且查询使用全表扫描.可能不是你的情况:你返回的所有字段都很难用单一索引编制索引.
>从包含可变长度列的表返回尾随字段可能会导致轻微的搜索开销:要返回第20个字段,应检查前19个字段并计算偏移量.
>只需要返回更多数据(通过连接传递).
由于您几乎需要所有领域,最后一个原因可能是最重要的原因.比如,描述TEXT字段只能是页面上未使用的50个字段中的1个,但可以占用所有其他字段的10倍空间.
在这种情况下,最好为所有字段命名并省略不需要的长字段.
内容总结
以上是互联网集市为您收集整理的最好在mysql中调用很多字段时使用*?全部内容,希望文章能够帮你解决最好在mysql中调用很多字段时使用*?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。