我正在寻找一种使用SQL Alchemy获取数据库大小的方法。理想情况下,将与使用哪种基础数据库类型无关。这可能吗?
编辑: 按大小,我指的是数据库使用的字节总数。
答案 0 :(得分:0)
我要做的是找出是否可以运行SQL查询来获取答案。然后,您可以通过SQLAlchemy运行此查询并获取结果。
答案 1 :(得分:0)
当前,SQLAlchemy不提供任何便利功能来确定表大小(以字节为单位)。但是您可以执行一条SQL语句。请注意,您必须使用特定于您的SQL类型的语句(MySQL,Postgres等)
选中此answer,对于MySQL,您可以手动执行以下语句:
from sqlalchemy import create_engine
connection_string = 'mysql+pymysql://...'
engine = create_engine(connection_string)
statement = 'SELECT table_schema, table_name, data_length, index_length FROM information_schema.tables'
with engine.connect() as con:
res = con.execute(statement)
size_of_table = res.fetchall()
对于SQLite,您可以仅使用os
模块检查整个数据库的大小:
import os
os.path.getsize('sqlite.db')