2012-07-28 135 views
1

已禁用自动加载分贝只是因为我的网站很多页面不需要数据库连接或处理。如果我需要数据库处理,当我的页面需要数据库支持时,我手动执行$this->load->database();。现在codeigniter自动加载或不加载

,我想知道这是: 我会使自动装载和配置文件设置$db['default']['autoinit'] = FALSE;。这是否会像上面一样工作?我的意思是,当相关页面只需要db时(不是在每个页面调用中),db会被加载,这正是我想要的吗?

感谢

回答

2

其实答案是NO

如果启用了auto-loading然后它会被自动加载在控制器内,但如果你设置autoinit=false,那么它不会连接到数据库时,库加载,因为默认情况下,db library连接到数据库时加载。

autoinit - 当磁带库加载时是否自动连接到数据库 。如果设置为false,则在执行第一个查询之前,连接将占用 位置。

autoinit=false连接将要进行的第一query发生之前,但它会被自动加载,将在每一个控制器可用。

Read Here

+1

因此,就性能而言,我应该禁用**自动加载**并继续使用手动连接'$ this-> load-> database();'因为我不需要db支持。我对吗? – BentCoder 2012-07-29 14:02:19

+1

是的,你是绝对正确的。 – 2012-07-29 14:15:12

+0

感谢Heera,我问了一个[问题在这里](http://stackoverflow.com/questions/11710039/codeigniter-this-db-reconnect-usage)这可能也在你的领域。你能看看它吗?再次感谢 – BentCoder 2012-07-29 14:33:43