Amygo
作者Amygo·2019-05-16 17:10
DBA·分布式事务数据库

《分布式事务数据库 —-MySQL 数据库开发规范》(第六节)

字数 759阅读 1509评论 1赞 3

《分布式事务数据库 —-MySQL 数据库开发规范》一文更新到现在已经快要接近尾声了~Amy对之前的目录进行了调整——也是为了让大家能够更早的看到这篇诚意十足的干货!今天为大家更新第六节“SELECT 子句的使用规范”(后面还有一节)。感兴趣的可以复习一下之前的五节。
当然,如果我的分享有帮助到你,可以继续关注我哦~有什么疑惑或者不足之处也欢迎大家在评论里指出!

SELECT 子句的使用规范

6.1 基本原则
在不必要查询中使用“”列出所有字段,且存在 GROUP BY 或 ORDER BY 的时候,禁止使用 。SELECT 一次取出所有的字段。对于表连接的 JOIN 语句,禁止使用 SELECT 来进行查询。含有 text 字段的表,当不需要取出 TEXT 字段的时候,也禁止使用 SELECT 进行查询。

6.2 详细说明
1> 进行 GROUP BY 或 ORDER BY 的时候不允许使用 SELECT * 是为了确保 MySQL 能够使用最新的优化排序算法;
2> JOIN 语句不允许使用 SELECT * 是为了防止仅仅只需要索引即可完成的查询需要回表取数;
3> 存有 TEXT 字段表,在不需要取出 TEXT 字段的时候,不允许使用 SELECT * ,因为 TEXT字段是存放在和普通记录不一样的物理位置,会造成大量的 IO 操作;
4> SELECT * 会增加 CPU、IO 开销和占用更多的网络带宽,也影响性能;
5> 避免因增删字段而没有修改相关SQL及相关程序代码导致程序BUG,而禁用SELECT *;
6> SELECT 子句部分不要出现前台不需要或后续处理不需要的字段,尤其不要出现TEXT/BLOB 等不需要的大字段。

明天就是最后一节啦,别忘了来看哦~

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论1 条评论

wuwenpinwuwenpin软件开发工程师南京
2019-05-17 11:09
感谢分享!!!!
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广