sqlalchemy engine 学习笔记

engine 在sqlalchemy 是最基础的部分,不管是使用orm 还是直接运行原生的sql , 跟数据库连接时 首先要创建一个engine 实例。
根据官方文档介绍,engine 是为整个应用程序设计,不出现意外情况的话,它的生命周期应当与application 保持一直,也即当 应用运行时 engine 就被创建,而且一个应用建议只创建一个engine, 到engine 被回收或者应用终止,engine才被释放。

engine 背后其实是一个连接池,这个链接池一直保持着与数据库的连接关系,指导被意外中断,在应用执行的connect() 或者execute() 其实是从连接池中分配一个连接,而不是重新跟数据直接创建一个连接,连接关闭时 也是被连接池回收。
这样子,开启 关闭一个连接的花销应该是比较小的,因为它没有直接跟数据库 进行开启与关闭操作。
实际上在应用启动后,我们每excecute 一个 sql 语句,都启动了一个连接,当把结果自动读取完时,连接又自动关闭,所以想想在一个接口里,如果我们要执行几个sql 语句,如果都是直接跟数据库进行连接与关闭的话,这花销或者时间应该是不小的。

posted @ 2017-09-13 14:15  草色青青  阅读(258)  评论(0编辑  收藏  举报