Teradata系统视图调整

2024-06-16 11:22:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用sqlalchemy连接teradata,以便使用read_sql和tou-sql方法form pandas。在

但是,连接太慢了。即使是简单的东西,比如pd.read_sql语句(“当前完成日期”将超过30秒)。在

我真不明白为什么这么慢。如果有人以前遇到过类似的问题,请告诉我为什么和如何解决这个问题。谢谢!在

更新:
我尝试了cProfile和sqlTAP,发现速度慢是由于方言生成的一些查询造成的。has\u表方法将运行一个查询数据库表vx视图和此查询大约需要100秒来完成,而视图只有大约55k行。为pd.to\U sql,此has\u表可能会被多次调用,并且需要对系统表进行其他一些查询。在

-- query from has_table method   
SELECT tablename
FROM dbc.tablesvx
WHERE DatabaseName=?
  AND TableName=? 
-- query form drop_table method
SELECT tablename
FROM dbc.TablesVX
WHERE DatabaseName = ?
  AND (tablekind='T'
       OR tablekind='O')

似乎我需要做的只是对系统表进行一些调整,以使查询运行得更快。但是,我们的sql帮助人员告诉我,这些系统表已经处于最佳性能。这可能吗?是否有人对teradatadbc视图进行了调优?谢谢。在


Tags: 方法fromform视图readsqltablewhere