Мои SQL запросов:mysql fix Использование где;
SELECT *
FROM updates_cats
WHERE uid =118697835834
ORDER BY created_date ASC
Текущие индексы:
index1(uid, created_date)
EXPLAIN EXTENDED результат:
1 SIMPLE updates_cats ref index1 index1 8 const 2 100.00 Using where
Как я исправить дополнительное поле, где она с помощью которой так что он может использовать индексы вместо этого?
EDIT: SHOW CREATE TABLE:
CREATE TABLE `updates_cats` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`u_cat_id` bigint(20) NOT NULL DEFAULT '0',
`uid` bigint(20) NOT NULL,
`u_cat_name` text COLLATE utf8_unicode_ci NOT NULL,
`total_updates` int(11) unsigned NOT NULL DEFAULT '0',
`created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `index1` (`uid`,`created_date`)
) ENGINE=MyISAM AUTO_INCREMENT=23522 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
+1 за разумный вопрос. однако удаленный тег php. –
@fxuser: Сколько строк имеет таблица? Если их слишком мало, то tb eindex не может быть предъявлен иск. –
@ypercube Показывать строки 0 - 29 (23,521 всего запросов, получено 0,0005 сек) – fxuser