|
Какой рейтинг вас больше интересует?
|
Kohana 3: небольшая оптимизация ORM2012-11-08 08:49:00 (читать в оригинале)ORM в Kohana очень удобная штука, но она постоянно выполняет запросы типа: SHOW FULL COLUMNS FROM `users` Запрос выполняется почти на каждое действие связанное с таблицей, в данном случае 'users'. Это происходит из-за того, что для выполнения различных операций с данными ORM необходимо знать структуру таблицы и наименование полей. Что бы избавиться от таких запросов необходимо добавить модель описание структуры таблицы - массив $_table_columns. Думаю детально описывать стурктуру массива с данными не имеет смысла, так как в ниже приведённом примере всё хорошо понятно. Например для модели User, расширим стандартную модель Model_Auth_User добавив описание столбцов таблицы:
<?php
defined('SYSPATH') OR die('No direct script access.');
class Model_User extends Model_Auth_User {
protected $_table_columns = array(
'id' => array(
'data_type' => 'int',
'is_nullable' => FALSE
),
'email' => array(
'data_type' => 'string',
'is_nullable' => FALSE
),
'username' => array(
'data_type' => 'string',
'is_nullable' => FALSE
),
'password' => array(
'data_type' => 'string',
'is_nullable' => FALSE
),
'logins' => array(
'data_type' => 'int',
'is_nullable' => TRUE
),
'last_login' => array(
'data_type' => 'int',
'is_nullable' => TRUE
));
}
Больше запросов SHOW FULL COLUMNS FROM `users` не будет, так как модель 'знает' поля таблицы и их свойства.
|
Категория «IT»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
взяты из открытых общедоступных источников и являются собственностью их авторов.
