我有一个大约有3500万行的表,使用flask-admin显示表的列表视图需要超过15秒,如何才能加快速度?
发布于 2019-02-05 19:28:34
如果您正在使用postgresql,您可以使用pg_class表覆盖flask-admin count函数,这样可以非常快地返回表的近似计数
count = self.session.execute(
"""
SELECT reltuples::bigint AS count
FROM pg_class
WHERE oid = '{0}'::regclass
""".format(self.model.__table__.fullname)
).scalar()发布于 2019-10-22 18:07:36
基于Zaytsev Dmitry for Postgres with Flask-Admin V 1.5.3和Python 3的先前答案进行更新。
在app/admin.py中
class ExampleView(ModelView):
"""
your custom code
"""
def get_count_query(self):
return self.session.execute(
f"""
SELECT reltuples::bigint AS count
FROM pg_class
WHERE oid =
'{self.model.__table__.fullname}'::regclass
"""
)https://stackoverflow.com/questions/53448886
复制相似问题