Kohana DB - с использованием SQL_CACHE - PullRequest
0 голосов
/ 29 марта 2012

Есть ли способ реализовать это с помощью построителя запросов базы данных Kohana (3.x):

SELECT SQL_CACHE id, name FROM customer;

Я знаю, что могу использовать метод cached для результатов кэширования MySQL, ноЯ хочу, чтобы mysql кешировал результаты, а не Kohana.

1 Ответ

1 голос
/ 29 марта 2012

Я не думаю, что kohana где-нибудь определил SQL_CACHE.Но если вы чувствуете, что шоу останавливается только из-за отсутствия sql_cache в kohana, я могу предложить вам одну вещь.Создайте свой собственный метод sql_cache, который очень прост.

В модулях / database / classes / kohana / database / query / builder / select.php определите переменную $ _sqlcache.Точно так же как «protected $ _distinct = FALSE;»

protected $_sqlcache = FALSE;

добавить метод

public function sqlcache($value)
{
    $this->_sqlcache = (bool) $value;    
    return $this;
}

в методе compile ()

//Just below these lines
/*if ($this->_distinct === TRUE)
{
    // Select only unique results
    $query .= 'DISTINCT ';
}*/

if ($this->_sqlcache === TRUE)
{
    $query .= 'SQL_CACHE ';
}

//$query = DB::select('id', 'name')->sqlcache(TRUE)->from('customer');

Я сделал это в Кохане3.2, и он, безусловно, производит запрос, как вы просили, но я не уверен, что это правильный путь.Дайте мне знать, если это работает.

...