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

《分布式事务数据库 —-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 等不需要的大字段。

猜你喜欢

转载自blog.csdn.net/weixin_44994688/article/details/90174218