【发布时间】:2022-06-14 19:39:48
【问题描述】:
我正在使用 SQLAlchemy 从 Snowflake 查询数据并不断收到此警告:
SA 警告:方言雪花:雪花不会使用 SQL 编译缓存,因为它没有将“supports_statement_cache”属性设置为True。与以前的 SQLAlchemy 版本相比,这可能会产生重大的性能影响,包括一些性能下降。在对 SQLAlchemy 1.4 缓存支持进行适当的开发和测试后,方言维护者应设法将此属性设置为 True。或者,可以将此属性设置为 False,这将禁用此警告。 (此错误的背景:https://sqlalche.me/e/14/cprf)
根据上面的链接,我对出现警告的原因有了一些了解,但我不明白应该采取哪些步骤来避免“显着的性能影响”。
版本:
雪花连接器-python==2.7.1
雪花-sqlalchemy==1.3.3
SQLAlchemy==1.4.32
连接字符串:
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine
def snowflake_connection(cred, params):
"""Connect to snowflake using connection params."""
logger.info("Connecting to snowflake...")
try:
# connect to snowflake
engine = create_engine(URL(
user = cred['UN'],
role = cred['ROLE'],
password = cred['PWD'],
account = params['account'],
warehouse = params['warehouse']))
conn = engine.connect()
logger.info("...Connected to Snowflake.")
return conn, engine
except Exception:
logger.error("Failed to connect to Snowflake.", exc_info=True)
conn.close()
engine.dispose()
sys.exit()
问题:
- 这会导致什么样的性能问题?
- 如何解决此警告?
【问题讨论】:
-
在雪花连接器开发者解决它之前,您无能为力解决它 - 请参阅this issue。
标签: python sqlalchemy snowflake-connector