hsqldb的一次优化阅历ITeyetengxun - 牛牛娱乐

hsqldb的一次优化阅历ITeyetengxun

2019-02-02 08:00:53 | 作者: 笑柳 | 标签: 句子,时刻,问题 | 浏览: 6742

查询官方论坛得知,假如运用PreparedStatement,10000左右的update操作也不需求这么久的时刻(详细时刻我们能够去官网查一下,现在不太记住,就不乱讲……)

可是我的状况和官网上的示例不具备参考性,35条update操作句子结构都是不相同的,而非是能够进行预编译的参数部分。
我的update句子示例如下:

update
    DATA_TABLE p
set
    p.USER_DEFINET =  (
         select USER_DEF0 +  ... + USER_DEF7
         from DATA_TABLE c
         where p.emp_id = c.emp_id and p.cmp_id = c.cmp_id
    )
where
    p.month = 08
    and p.cmp_id in (
        8a95802321afc7850121afc794e5036b
    )

这是对一个单位的800多个人员的算计项的核算SQL句子,每个单位的不同人员在该表中只要一条记载。这样一条句子在hsqldb中加上相关的索引,然后履行仍需求2秒左右,最快也就1.6秒。

其实仔细观察一下不难发现一个问题,该SQL多做了一个select查询操作。这样会导致无畏的查询动作,修正一下:

update
DATA_TABLE p
set
    p.USER_DEFINET =  USER_DEF0 +  ... + USER_DEF7
where
    p.month = 08
    and p.cmp_id in (
        8a95802321afc7850121afc794e5036b
    )

    这条句子履行的安稳耗时在 0.15秒 左右。

总结:
    急于否定产品等级的文件型数据库,想当然的以为是hsqldb的功能问题,于是乎,在论坛中查找都是用“hsqldb performance”这样的关键字,成果白白消耗一天的时刻,居然找到的问题就是update操作的SQL中多了一个select操作。
目前为止运用hsqldb的除了OpenOffice,还有Jira等软件(详见官方网站上的介绍)。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章