第一种:
# 多线程下可复用metadata对象,而不需要重复创建
metadata = MetaData()
metadata.reflect(bind=engine)
table = Table('table_name', metadata, autoload=True)
第二种:
# 多线程下可复用metadata对象,而不需要重复创建
metadata = MetaData()
table = Table('table_name', metadata, autoload_with=engine)
其中第一种方式会映射所有表的元数据,耗时会比较长,而且数据库中表变化后,需要重新映射;
第二种方法是只映射某个表,所以效率更高一些。
两种方式各有优劣,比如如果数据库中表相对固定,更推荐第一种方式,否则推荐第二种