У меня есть база данных с большим количеством рекламных объявлений.он отлично работает, когда размер небольшой, но теперь хостинговая компания часто приостанавливает мою учетную запись, потому что в моей базе данных более 100 000 строк.мне сказали, что мой запрос уже не так эффективен для моего стола.Итак, я выполнил поиск в Интернете, и нашел, что индекс мог бы решить мою проблему.
вот запрос для моего сайта
$sql = "SELECT *
FROM `adstable`
WHERE `keytype` = '".$cate."'
ORDER BY `adstable`.`id` DESC
LIMIT 2000";
, $ cate будет меняться в зависимости отВыбор категории посетителя.Я использую phpmyadmin, и я хочу знать, как индекс будет работать с запросом выше.Я создал индекс для столбца cate, но не знаю, как оптимизировать запрос с помощью созданного мной индекса.
Вот как я могу добавить индекс
ALTER TABLE `adstable` ADD INDEX ( `keytype` )
, используя
EXPLAIN
SELECT *
FROM `adstable`
WHERE `keytype` = '".$cate."'
ORDER BY `adstable`.`id` DESC
LIMIT 2000
Я получил что-то вроде этого:
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra
1 | SIMPLE |adstable| ref | keytype | keytype | 38 |const|49392 | Using where; Using filesort
спасибо заранее.