加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Java措施员在写SQL时辰常犯的10个错误

发布时间:2017-07-22 04:45:45 所属栏目:教程 来源:oschina译者
导读:Java措施员编程时必要殽杂面向工具思想和一样平常呼吁式编程的要领,可否美满的将两者团结起来完全得依赖编程职员的水准。

  可是在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/

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读