数据库小感

我开发日常使用的数据库是MySQL,用起来真的很方便也省了不少事。但同样也会养成一些相对不是很好的习惯。手动捂脸

目前再使用postgresql进行后台开发。这个数据库在sql优化上就没有MySQL的sql处理优化的好。

下面的语句在MySQL中指定不回报错,但是在postgresql中就会发生聚合函数异常。

ps:建表就不打了。

例1:

    select a.id, a.name, a.sex from tablename a group by sex;

究其原因就是:MySQL 在sql的预处理过程中对结果集进行了聚合的判断。而postgresql没有对结果集进行聚合的判断。所以需要自行添加聚合函数。要写成的sql语句是如下

例2:

    select min(a.id), min(a.name), a.sex from tablename a group by sex;

目前初步测试默认调用的是min函数。

总结:我个人以后写的时候要尽量让自己将聚合函数补全。规范些。

 

2018-10-10

今天说一个,查询的时候使用 select 具体字段比 select * 好的一点。

当你的业务逻辑在其它地方发生变化,需要在表中新增字段。这时候如果使用select * 就会让你的结果出现原本在之前已有逻辑中不应该返回的信息。破坏了原有结果就算是对实际业务没有影响,但是这是一个很不好的习惯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值