0

以下は、Jaydebeapi を使用して JDBC 接続を介して Teradata に接続するコードです。razorsql GUI を使用してクエリを実行すると、わずか 15 秒しかかかりません。以下のコードを実行すると、query1 を実行するだけで 20 分以上かかりました。

Jaydebeapi に何か問題がありますか、それともクエリを最適化して Jpype を使用することで高速化できますか?

    #-*- coding: utf-8 -*-
    import jaydebeapi
    import jpype
    import pandas as pd
    import numpy as np
    import collections

    query_dict=collections.OrderedDict()


    connection = jaydebeapi.connect('com.teradata.jdbc.TeraDriver', ['my_db_name','my_username','my_password'], ['/Applications/drivers/tdgssconfig.jar','/Applications/drivers/terajdbc4.jar'],)     

    cur = connection.cursor()

    query_name_list=['query1','query2']

    query1= """select ......"""
    query2= """ select ....."""

    for i in query_list:
      query_dict[i]=locals()[i]

    print query_dict.keys()

    for index in range(len(query_list)):
      tera_query=query_dict.values()[index]

    cur.execute(tera_query)
    print "executing ... "

    result=cur.fetchall() 
    print "fetching results ... "
4

1 に答える 1