• h2 web console使用


      在高并发情况下,in memory模式下h2的性能要远高于sqlite(单线程下,还是sqlite高很多),当前版本MVStore作为H2的默认存储引擎,无需参数控制。

    安装h2 windows版本

    C:Program Files (x86)H2in>java -cp h2-1.4.200.jar org.h2.tools.Shell
    
    Welcome to H2 Shell 1.4.200 (2019-10-14)
    Exit with Ctrl+C
    [Enter]   jdbc:h2:~/test
    URL       jdbc:h2:d:/test/h2db
    [Enter]   org.h2.Driver
    Driver
    [Enter]
    User      sa
    Password
    Type the same password again to confirm database creation.
    Password
    Connected
    Commands are case insensitive; SQL statements end with ';'
    help or ?      Display this help
    list           Toggle result list / stack trace mode
    maxwidth       Set maximum column width (default is 100)
    autocommit     Enable or disable autocommit
    history        Show the last 20 statements
    quit or exit   Close the connection and exit

     完整的SQL可以点击下列HELP:

    总的来说,h2的bug还是挺多的、open状态的bug其实也不少,可以参见https://github.com/h2database/h2database/issues。

    h2测试时,有一个比较高效的方法,即其他源生成csv文件,然后通过CSVREAD查询结果。通过CSVWRITE写到CSV文件。

    call CSVWRITE('d:\h2\ta4.csv', 'select * from ta4', 'charset=UTF-8 fieldSeparator=| writeColumnHeader=false');
    select * from csvread('d:\h2\ta4.csv', 'FUND_CODE|FUND_TYPE|REAL_SHARES_SUM|TOTAL_REAL_SHARES', 'charset=UTF-8 fieldSeparator=|');
    create table tmp_ta4 as select * from csvread('d:\h2\ta4.csv', 'FUND_CODE|FUND_TYPE|REAL_SHARES_SUM|TOTAL_REAL_SHARES', 'charset=UTF-8 fieldSeparator=|');

      有时候h2会发生在create table时无法锁定sys表的情况,参见:https://stackoverflow.com/questions/26511508/timeout-trying-to-lock-table-sys。但是通过查看INFORMATION_SCHEMA,没有发现sys表,应该是一个内部表。如果是1.3版本,可以升级到1.4使用MVCC,如果是1.4,只能考虑增加DEFAULT_LOCK_TIME及LOCK_TIME。

  • 相关阅读:
    store 加载异常处理与加载信息提示
    jQuery和ExtJS的timeOut超时问题和event事件处理问题
    Virtualbox虚拟机安装CentOS6.5图文详细教程
    虚拟机
    20180104 wdcp中的mysql重启不成功
    MySQL取得某一范围随机数(MySQL随机数)
    安装lszrz,用于上传文件
    cpu占用高 20180108
    怎么实时查看mysql当前连接数
    数据库SQL优化大总结之 百万级数据库优化方案
  • 原文地址:https://www.cnblogs.com/zhjh256/p/12238663.html
Copyright © 2020-2023  润新知