Php CodeIgniter-仅当有查询要运行时才连接到数据库
目前,我在自动加载中加载数据库类,自动创建到mysql的连接。如果没有查询,它仍将创建连接 为了提高性能,我只希望在运行查询时连接到mysql 实现这一目标的最佳方式是什么 我正在考虑编写一个模型函数,所有查询都会通过该函数来检测数据库是否已连接,如果未连接,只需在运行Php CodeIgniter-仅当有查询要运行时才连接到数据库,php,mysql,codeigniter,Php,Mysql,Codeigniter,目前,我在自动加载中加载数据库类,自动创建到mysql的连接。如果没有查询,它仍将创建连接 为了提高性能,我只希望在运行查询时连接到mysql 实现这一目标的最佳方式是什么 我正在考虑编写一个模型函数,所有查询都会通过该函数来检测数据库是否已连接,如果未连接,只需在运行$this->db->query()之前调用$this->load->database() 这样做的问题是,我必须更改代码中的所有$this->db->query()引用,这很痛苦 理想情况下,我希望扩展$this->db->qu
$this->db->query()
之前调用$this->load->database()
这样做的问题是,我必须更改代码中的所有$this->db->query()
引用,这很痛苦
理想情况下,我希望扩展$this->db->query()
函数以支持此功能
有什么想法吗?您可以修改数据库配置的autoinit属性
$db['mydb']['autoinit'] = false;
这将导致数据库类在实例化时不进行初始化(包括连接到服务器),而是在第一次查询时进行初始化
请参见只有当您有许多不需要DB查询的页面时,这才有用。或者,如果您使用的是高速缓存Heavillyn,则不确定这里的优势是什么,尽管您与DB有连接,但它仅在以任何方式使用时才处于活动状态。它就像自动加载html、url和其他库一样。在被要求使用之前,它们不是性能上的成功。