Java措施员在写SQL时辰常犯的10个错误
可是在SQL:2003中界说了窗口函数,这个在许多主流数据库都实现了它。窗口函数可以或许在功效集上聚合数据,可是却没有分组。究竟上,每个窗口函数都有本身的、独立的PARTITION BY语句,这个器材对付表现陈诉太TM好了。 行使窗口函数: • 使SQL更易读(但在子查询中没有GROUP BY语句专业) • 晋升机能,像相关数据库打点体系可以或许更轻易优化窗口函数 办理要领: 当你在子查询中行使GROUP BY语句时,请再三思量是否可以行使窗口函数完成。 9. 行使内存间接排序 SQL的ORDER BY语句支持许多范例的表达式,包罗CASE语句,对付间接排序异常有效。你也许重来不会在Java内存中排序数据,由于你会想: • SQL排序很慢 • SQL排序办不到 处理赏罚要领: 假如你在内存中排序任何SQL数据,请再三思量,是否不能在数据库中排序。这对付数据库分页数据异常有效。 10. 一条一条的插入大量记载 JDBC ”懂“批处理赏罚(batch),你应该不会忘了它。不要行使INSERT语句来一条一条的进出成千上万的记录,(由于)每次城市建设一个新的PreparedStatement工具。假如你的全部记录都插入到统一个表时,那么就建设一个带有一条SQL语句以及附带许多值荟萃的插入批处理赏罚语句。你也许必要在到达必然量的插入记录后才提交来担保UNDO日记瘦小,这依靠于你的数据库和数据库配置。 处理赏罚要领: 老是行使批处理赏罚插入大量数据。 译文链接:http://www.oschina.net/translate/10-common-mistakes-java-developers-make-when-writing-sql 原文链接:http://blog.jooq.org/2013/07/30/10-common-mistakes-java-developers-make-when-writing-sql/ (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |