下面是我使用 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 ... "