ClickHouse简单粗暴的JDBC

编程入门 行业动态 更新时间:2024-10-27 09:46:56

ClickHouse简单<a href=https://www.elefans.com/category/jswz/34/1720115.html style=粗暴的JDBC"/>

ClickHouse简单粗暴的JDBC

        不愧是战斗民族研发的,真的是简单粗暴。数据压缩比高,查询速度快,非常适合OLAP场景使用。

        ClickHouse的优缺点就不说了,网上一查一大堆, 与各种数据库横向对比直接到官网上看吧,非常直观。(/)

        接下来直接上Demo。先建立ClickHouse的连接及SQL。

ClickHouseConnection conn = null;public void getConnection() {String url = "jdbc:clickhouse://127.0.0.1:8123/test";try {ClickHouseProperties ckPop = new ClickHouseProperties();ckPop.setSocketTimeout(60000);ClickHouseDataSource dataSource = new ClickHouseDataSource(url, ckProperties);conn = dataSource.getConnection();String sql = "insert into t_a_info (a1,a2,a3,a4,a5,a6,a7,a8,a9) values (?,?,?,?,?,?,?,?,?)";ps = conn.prepareStatement(sql);conn.setAutoCommit(false);} catch (Exception e) {e.getMessage();}}

        填充入库数据,并提交批处理。其中“1,2,3,4,5.....”代表插入数据参数的位置。addTestInfo()可以进行多次调用。

PreparedStatement ps = null;private void addTestInfo(){try{ps.setString(1,"b1");ps.setString(2,"b2");ps.setString(3,"b3");ps.setString(4,"b4");ps.setString(5,"b5");ps.setString(6,"b6");ps.setString(7,"b7");ps.setString(8,"b8");ps.setString(9,"b9");ps.addBatch();}catch(Exception e)e.getMessage();}

        程序入口。可以根据自己的需求,选择线程(记得加锁),Timer,或者其他方式来运行。

public void run() {try {ps.executeBatch();ps.clearBatch();} catch (Exception e) {e.getMessage();}}}

        自己简单测试了一下,8G内存,i5的U,插入速度4w/s,单机版本。插入过亿数据后进行查询,基本秒出结果。

更多推荐

ClickHouse简单粗暴的JDBC

本文发布于:2024-03-08 06:48:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1720107.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:粗暴   简单   ClickHouse   JDBC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!