GP两种连接方式性能测试

  1. Pivotal
  2. java.sql.Connection;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class GPQueryString {

public static void main(String[] args) {// TODO Auto-generated method stubtry {// URLString url = "jdbc:pivotal:greenplum://ip:5432;DatabaseName=testtpch";            // 数据库用户名String username = "xx";    // 数据库密码String password = "xx";            // 加载驱动Class.forName("com.pivotal.jdbc.GreenplumDriver");            // 获取连接Connection conn = DriverManager.getConnection(url, username, password);            

// String sql18 = "select c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice,sum(l_quantity) from customer,orders,lineitem"
// +" where o_orderkey in (select l_orderkey from lineitem group by l_orderkey having sum(l_quantity) > 312) and c_custkey = o_custkey and o_orderkey = l_orderkey"
// +" group by c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice"
// +" order by o_totalprice desc,o_orderdate LIMIT 100";
// String sql17="select sum(l_extendedprice) / 7.0 as avg_yearly from lineitem, part,"
// +"(SELECT l_partkey AS agg_partkey, 0.2 * avg(l_quantity) AS avg_quantity FROM lineitem GROUP BY l_partkey) part_agg"
// +" where p_partkey = l_partkey and agg_partkey = l_partkey and p_brand = 'Brand#11' and p_container = 'WRAP DRUM' and l_quantity < avg_quantity LIMIT 1";

        String sql21="select s_name,count(*) as numwait from supplier,lineitem l1,orders,nation"+" where s_suppkey = l1.l_suppkey and o_orderkey = l1.l_orderkey and o_orderstatus = 'F' and l1.l_receiptdate > l1.l_commitdate and exists (select * from lineitem l2"+" where l2.l_orderkey = l1.l_orderkey and l2.l_suppkey <> l1.l_suppkey)and not exists (select * from lineitem l3 where l3.l_orderkey = l1.l_orderkey and l3.l_suppkey <> l1.l_suppkey and l3.l_receiptdate > l3.l_commitdate) and s_nationkey = n_nationkey and n_name = 'BRAZIL'"+" group by s_name order by numwait desc,s_name LIMIT 100";

// PreparedStatement pre = conn.prepareStatement(sql18);
// long t1 = System.currentTimeMillis();
// ResultSet rs = pre.executeQuery();
// long t2 = System.currentTimeMillis();
// long t3=t2-t1;
// float s=(float)t3/1000;
// System.out.println("sql18执行时间:"+s+"秒");

// PreparedStatement pre17 = conn.prepareStatement(sql17);
// long t17 = System.currentTimeMillis();
// ResultSet rs17 = pre17.executeQuery();
// long t18 = System.currentTimeMillis();
// long t19=t18-t17;
// float s17=(float)t19/1000;
// System.out.println("sql17执行时间:"+s17+"秒");

        PreparedStatement pre21 = conn.prepareStatement(sql21);long t21 = System.currentTimeMillis();ResultSet rs21 = pre21.executeQuery();long t22 = System.currentTimeMillis();long t23=t22-t21;float s21=(float)t23/1000;System.out.println("sql21执行时间:"+s21+"秒");

// while(rs.next())
// {
// System.out.println(rs.getString(1));
// }

    } catch (Exception e) {e.printStackTrace();
    }}

}

  1. Postgresql
  2. java.sql.Connection;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class GPpostgres {

public static void main(String[] args) throws ClassNotFoundException, SQLException {// TODO Auto-generated method stubtry {// URLString url = "jdbc:postgresql://ip:5432/testtpch";

// String url = "jdbc:postgresql://ip:5432/testcolumn";

        // 数据库用户名String username = "xx";    // 数据库密码String password = "xx";            // 加载驱动Class.forName("org.postgresql.Driver");            // 获取连接Connection conn = DriverManager.getConnection(url, username, password);            

// String sql18 = "select c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice,sum(l_quantity) from customer,orders,lineitem"
// +" where o_orderkey in (select l_orderkey from lineitem group by l_orderkey having sum(l_quantity) > 312) and c_custkey = o_custkey and o_orderkey = l_orderkey"
// +" group by c_name,c_custkey,o_orderkey,o_orderdate,o_totalprice"
// +" order by o_totalprice desc,o_orderdate LIMIT 100";

        String sql17="select sum(l_extendedprice) / 7.0 as avg_yearly from lineitem, part,"+"(SELECT l_partkey AS agg_partkey, 0.2 * avg(l_quantity) AS avg_quantity FROM lineitem GROUP BY l_partkey) part_agg"+" where p_partkey = l_partkey and agg_partkey = l_partkey and p_brand = 'Brand#11' and p_container = 'WRAP DRUM' and l_quantity < avg_quantity LIMIT 1";

// String sql21="select s_name,count(*) as numwait from supplier,lineitem l1,orders,nation"
// +" where s_suppkey = l1.l_suppkey and o_orderkey = l1.l_orderkey and o_orderstatus = 'F' and l1.l_receiptdate > l1.l_commitdate and exists (select * from lineitem l2"
// +" where l2.l_orderkey = l1.l_orderkey and l2.l_suppkey <> l1.l_suppkey)and not exists (select * from lineitem l3 where l3.l_orderkey = l1.l_orderkey and l3.l_suppkey <> l1.l_suppkey and l3.l_receiptdate > l3.l_commitdate) and s_nationkey = n_nationkey and n_name = 'BRAZIL'"
// +" group by s_name order by numwait desc,s_name LIMIT 100";
// PreparedStatement pre = conn.prepareStatement(sql18);
// long t1 = System.currentTimeMillis();
// ResultSet rs = pre.executeQuery();
// long t2 = System.currentTimeMillis();
// long t3=t2-t1;
// float s=(float)t3/1000;
// System.out.println("sql18执行时间:"+s+"秒");

        PreparedStatement pre17 = conn.prepareStatement(sql17);long t17 = System.currentTimeMillis();ResultSet rs17 = pre17.executeQuery();long t18 = System.currentTimeMillis();long t19=t18-t17;float s17=(float)t19/1000;System.out.println("sql17执行时间:"+s17+"秒");

// PreparedStatement pre21 = conn.prepareStatement(sql21);
// long t21 = System.currentTimeMillis();
// ResultSet rs21 = pre21.executeQuery();
// long t22 = System.currentTimeMillis();
// long t23=t22-t21;
// float s21=(float)t23/1000;
// System.out.println("sql21执行时间:"+s21+"秒");
// while(rs.next())
// {
// System.out.println(rs.getString(1));
// }

    } catch (Exception e) {e.printStackTrace();
    }}

}

同样的数据,postgresql方式的查询速度是pivotal方式连接的查询速度的0.61左右。

GP两种连接方式性能测试相关推荐

  1. 项目案例模板之jdbc两种连接方式

    项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc;​import org.junit.jupiter.api.Test;​import jav ...

  2. Kafka结合Spark-streaming 的两种连接方式(AWL与直连)

    kafka结合spark-streaming的用法及说明之前博客有些,这里就不赘述了. 这篇文章说下他们结合使用的两种连接方式.(AWL与直连) 先看一张图: 这是kafka与streaming结合的 ...

  3. gitlab两种连接方式:ssh和http配置介绍 --转自 散尽浮华

    gitlab环境部署好后,创建project工程,在本地或远程下载gitlab代码,有两种方式:ssh和http 1)ssh方式:这是一种相对安全的方式 这要求将本地的公钥上传到gitlab中,如下图 ...

  4. Spark对Kafka两种连接方式的对比——Receiver和Direct

    在知乎 Flink 取代 Spark Streaming 的实战之路中,提到 因此下面对两种方式进行详细说明一下. Receiver方式 Receiver:接收器模式是使用Kafka高级Consume ...

  5. JDBC 与 JNDI 这两种连接方式 区别

    jdbc(Java Data Base Connectivity)是数据库中间代理商为了是java连接数据库而定的一个协议 或者说是方法,通过jdbc-odbc的方法进行数据库连接,是连接一次创建一次 ...

  6. 华为telnet的两种连接方式

    要求R2能远程登陆上R1(使用password)方式 第一种方式: [R1] [R1]int e0/0/0 [R1-Ethernet0/0/0]ip address 12.1.1.1 24 [R1]u ...

  7. Redis的两种连接方式

    1.简单连接 import redis conn = redis.Redis(host='207.148.120.229', port=6379) conn.set('foo', 'Bar') pri ...

  8. 连接MySQL和连接文件夹区别_JDBC与JNDI这两种连接方式有什么区别?

    配置 JNDI绑定 此处绑定的数据源是以 DBCP 为实现.首先必须将数据库驱动(这里用了MYSQL数据库)和DBCP所需要的 Jar 包复制到 Jetty 根目录的 lib 目录下.DBCP主要需要 ...

  9. Kafka的两种连接方式

    Kakfa的版本 0.8.0 Receiver模式 (接收者模式) Driect模式 (直连模式) 0.10.0 Driect模式(直连模式) spark 2.3之后(包括2.3) 已经把 0.8.0 ...

最新文章

  1. 阿里巴巴高级技术专家:不要用沉默的方式一味地迎合别人的要求,据理力争或许才是作为的表现
  2. mysql 1100_mysql数据库选择,有1100个用户,每个用户每月生成一张表,使用中该表内每秒上传一条数据,数据量很大...
  3. 聊聊在Go语言里使用继承的翻车经历
  4. Sun Java认证
  5. 查看python安装的库_查看python及其第三方库的版本和安装位置
  6. [matlab]用LU分解法求解线性方程组
  7. [LeetCode] Increasing Triplet Subsequence 递增的三元子序列
  8. 2020-12-26
  9. 更改计算机图标大小得方法,更改桌面图标大小方法
  10. 计算机复制方法有,如何在电脑上复制粘贴文字(包括快捷键),来学习吧
  11. 6步解决win7局域网内传输慢的问题
  12. 各种编程语言的适用范围
  13. 纽约市建筑能源得分预测代码分析
  14. 泛泛而谈的渲染学习记录(一)—— 描边中的轮廓边缘
  15. 将笔记本打造成遥控器――远程桌面控制台式机
  16. Linux下的CPU性能瓶颈分析案例
  17. excel转word_PDF一键转Word、转Excel、转PPT、转Html、转图片软件
  18. javabean+servlet+jsp返利网
  19. html输入时从本文框的顶格输入,浙江省绍兴市越城区2017—2018学年八年级第二学期期末语文试卷(15页)-原创力文档...
  20. 伪时序分析文献阅读——PAGA

热门文章

  1. linux gedit如何保存 退出
  2. 计算机系统唯一能识别的不需要翻译,计算机习题答案及解析ban.doc
  3. oracle with check option 的作用
  4. Excel中vlookup函数的使用方法
  5. XSD(Schema)教程
  6. 敏捷软件开发(Agile Software Development)简介之:什么是敏捷软件开发?
  7. MicroStation VBA 操作提示
  8. 20159206《网络攻防实践》第五周学习总结
  9. python 闭包(closure)
  10. asp.net viewstate 数据过大 导致错误