我不了解它使用的Flask-Admin和sql查询。我的性能有问题,但主要原因是调用了不合理的查询。
我有模特:
class Hotel(Base):
__tablename__ = "hotel"
id = Column(Integer, primary_key=True, autoincrement=True)
country_id = Column(Integer, ForeignKey('country.id'))
area_id = Column(Integer, ForeignKey('area.id'))
....
photos = relationship(Photo, backref=backref('hotel', lazy='select'), lazy='dynamic')
terms = relationship(Term, backref=backref('hotel', lazy='noload'), lazy='dynamic')
如果我想阅读Flask管理中的一家酒店的信息,有几个疑问可疑
EG。跟随查询被争论了几百万次,这没有意义
[Sun Apr 13 17:31:22 2014] [error] INFO sqlalchemy.engine.base.Engine SELECT photo.id AS photo_id, photo.hotel_id AS photo_hotel_id, photo.filename AS photo_filename
[Sun Apr 13 17:31:22 2014] [error] FROM photo
[Sun Apr 13 17:31:22 2014] [error] WHERE %s = photo.hotel_id
[Sun Apr 13 17:31:22 2014] [error] 2014-04-13 17:31:22,549 INFO sqlalchemy.engine.base.Engine (1L,)
并调用另一个查询而不对所选的hotel.id进行过滤,并且查询在超时之前没有完成,并且它再次无用
[Sun Apr 13 17:31:22 2014] [error] INFO sqlalchemy.engine.base.Engine SELECT term.id AS term_id, term.hotel_id AS term_hotel_id, ...
[Sun Apr 13 17:31:22 2014] [error] FROM term
请你能给一些暗示什么'发生在我的管理员身上,我真的不知道应该改进什么。
谢谢