我在MySQL中使用codeigniter。
我的一个数据库是一个非常稳定的price_table并获得" SELECT"通常,访问通过相同的model_function进行访问,因此查询将完全相同。我认为这应该是实现MySQL缓存查询以提高性能的一个很好的例子。
我想尽可能使用codeigniter函数与数据库进行交互,所以我的代码如下:
$q = $this->db->select('service_info.*, service_pricing.price, service_pricing.price_ID')
->from('service_pricing')
->where('status','active')
->join('service_info','service_info.service_ID = service_pricing.service_ID ')
->get();
if ($q->num_rows > 0) {
return $q->result_array();
} else {return FALSE;}
我从codeigniter文档中读到了Database Caching Class,但我认为这不是我想要的。 这里描述的缓存似乎是一个全局缓存。就我而言,我希望它是关于一个相对恒定的数据库的一些查询。
我在想像this example:
SELECT SQL_CACHE id, name FROM customer;
我能在codeigniter中做到这一点吗? 谢谢!
答案 0 :(得分:1)
您可以将缓存设置为全局缓存或特定于特定查询。如果要将缓存设置为查询,请使用如下
$this->db->cache_on();
//your number 1 query here. this query will cache
$this->db->cache_off();
// number 2 query here. This query will not cached
希望现在明白