Задавайте вопросы, мы ответим
Вы не зашли.
ЕСТЬ ТАБЛИЦА
CREATE TABLE IF NOT EXISTS `tbl_dictionary` (
`id` int(3) unsigned NOT NULL auto_increment,
`type` varchar(50) NOT NULL,
`item_id` varchar(20) NOT NULL default '0',
`language` char(2) NOT NULL default '',
`content` mediumtext NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `Second` (`type`,`item_id`,`language`),
KEY `type` (`type`,`language`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=85053 ;
ЗАПРОС
SELECT content, language FROM tbl_dictionary WHERE type='mdl_news_title' AND item_id='4479' AND language IN ('ua','ru')
Составной индекс KEY `type`я так понимаю здесь не правильно указан. И зачем здесь используется UNIQUE KEY `Second` ???
И как правильно составить индекс.
Буду очень благодарен за ответ
Неактивен
Как использовать составные ключи, в каких случаях они работают? FAQ №5
dimsich написал:
Составной индекс KEY `type`я так понимаю здесь не правильно указан.
Для данного запроса не нужен, но возможно есть другие запросы для которых он необходим.
Смущает
`item_id` varchar(20) NOT NULL default '0',
`item_id` число?
Неактивен
vasya написал:
`item_id` число?
Так эта ж...
AND item_id='4479'
dimsich написал:
И как правильно составить индекс
Чую, что неправильный тут индекс как раз тот, что уникальный. Языков скорее всего 2-5, типов тоже немного, а вот судя по 4479 - item_id - самый селективный параметр, поэтому скорее всего должно быть
Неактивен
Спасибо большое, попробую.
Неактивен
item_id и меня смущает, дело в том, что базу не я разрабатывал, попросили помочь оптимизировать запросы. По EXPLAIN все индексы используються.
Неактивен
если item_id число, и я сделаю его int, как Вы думаете ускориться выборка из базы?
Неактивен
И ещё вопрос. Если я допустим через phpmyadmin поменяю тип с VARCHAR на INT не повредяться ли данные?
Неактивен
dimsich написал:
если item_id число, и я сделаю его int, как Вы думаете ускориться выборка из базы?
Да
dimsich написал:
И ещё вопрос. Если я допустим через phpmyadmin поменяю тип с VARCHAR на INT не повредяться ли данные?
phpmyadmin плохое решение.
Для изменения данных
Неактивен
Спасибо за ответ, реализую, отпишусь о результате.
Неактивен