SQL反模式学习笔记19 使用*号,隐式的列

本文深入探讨了在SQL编程中滥用通配符'*'的危害,包括破坏代码重构、影响性能和扩展性等问题。文章提供了识别反模式的方法,并建议在开发环境中谨慎使用,以及何时合理应用通配符。

目标:减少输入

 

反模式:捷径会让你迷失方向

  使用通配符和未命名的列能够达到减少输入的目的,但是这个习惯会带来一些危害。

  1、破坏代码重构:增加一列后,使用隐式的Insert插入语句报错;

  2、查询中使用通配符,影响性能和扩展性。大量数据在网络之间传输,可能会造成阻塞。

 

如何识别反模式:当出现以下情况时,可能是反模式

  1、程序由于还使用老的列名而挂掉。

    改变了数据库里的一张表,添加、删除、重命名列,或者改变列的顺序。但没能更新全部使用到这张表的代码。

  2、花了几天时间终于找到了网络的瓶颈,终于减小了到数据库服务器的庞大的通信量。

 

合理使用反模式

  1、在开发或者测试环境下可以使用通配符,在生成环境下尽量不要使用。

  2、可以在联结查询中的每个独立的表使用通配符。在通配符之前加上表名或者别名作为前缀。

  3、如果你的程序需要在增加、删除、重命名或者重新配置列时依旧能自动适应及调整,

   那最好还是使用通配符。

  

解决方案:明确列出列名

 

结论:无论如何都不要使用通配符*

 

 

SQL反模式,系列学习汇总

1SQL反模式学习笔记1 开篇

2、SQL反模式学习笔记2 乱穿马路

3、SQL反模式学习笔记3 单纯的树

4、SQL反模式学习笔记4 建立主键规范【需要ID】

5、SQL反模式学习笔记5 外键约束【不用钥匙的入口】

6、SQL反模式学习笔记6 支持可变属性【实体-属性-值】 

7、SQL反模式学习笔记7 多态关联

8、SQL反模式学习笔记8 多列属性

9、SQL反模式学习笔记9 元数据分裂 

10、SQL反模式学习笔记10 取整错误

11、SQL反模式学习笔记11 限定列的有效值

12、SQL反模式学习笔记12 存储图片或其他多媒体大文件

13、SQL反模式学习笔记13 使用索引

14、SQL反模式学习笔记14 关于Null值的使用

15、SQL反模式学习笔记15 分组

16、SQL反模式学习笔记16 使用随机数排序

17、SQL反模式学习笔记17 全文搜索

18、SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题

19、SQL反模式学习笔记19 使用*号,隐式的列 

20、SQL反模式学习笔记20 明文密码

21、SQL反模式学习笔记21 SQL注入

22、SQL反模式学习笔记22 伪键洁癖,整理数据

 

转载于:https://www.cnblogs.com/SavionZhang/p/4030406.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值