技能(任何人都能容易学会命令式编程) 模式(有些人用“模式-模式”,举个例子,模式可以应用到任何地方,而且都可以归为某一类模式) 心境(首先,要写个好的面向对象程序是比命令式程序难的多,你得花费一些功夫)
好好的训练你自己。当你写SQL时要不停得想到NULL的用法: 这个NULL完整性约束条件是正确的? NULL是否影响到结果?
便利性。这比在Java中编写正确的SQL可能更加的容易。 性能表现。数据库应该比你的算法处理起来更加快.而且更加重要的是,你不必再去传递数百万条记录了。
UNION ALL(允许重复) UNION (去除了重复)
它(也许)解决了表面症状但并没有解决问题。它也有可能无法解决极端情况下的症状。 对具有很多列的庞大的结果集合来说它很慢。DISTINCT要执行ORDER BY操作来消除重复。 对庞大的笛卡尔积集合来说它很慢,还是需要加载很多的数据到内存中。
使SQL更易读(但在子查询中没有GROUP BY语句专业) 提升性能,像关系数据库管理系统能够更容易优化窗口函数
SQL排序很慢 SQL排序办不到