CI框架中有个比较好的查询优化,就是数据库缓存优化
//在application/config.php中开启 $db['default']['cache_on'] = TRUE; //在application/config.php中开启 $db['default']['cachedir'] = './cache'; //并在对应的目录中加一个可写缓存目录cache
// 打开缓存开关 $this->db->cache_on(); $query = $this->db->query("SELECT * FROM mytable"); // 使下面这条查询不被缓存 $this->db->cache_off(); $query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'"); // Turn caching back on $this->db->cache_on(); $query = $this->db->query("SELECT * FROM another_table");
3. 添加相应的 清空缓存
//缓存不会自动删除 只能手动删除 //这样 你可以在对应的 增改删 语句中清除缓存 就ok了 //清空所有缓存 $this->db->cache_delete_all() /* 清空单个缓存 example.com/index.php/blog/comments的页面, 缓存系统会把所有生成的缓存文件放进 一个以 blog+comments做为名称的文件夹里. 如果您要删除关于刚才提到的这个例子与 之对应的缓存文件 需要执行以下代码: */ $this->db->cache_delete('/blog', 'comments');
原文地址:http://blog.csdn.net/wujiangwei567/article/details/44698863