- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеем простейшую структуру:
CREATE TABLE IF NOT EXISTS `cms_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`trans` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`description` text COLLATE utf8_unicode_ci NOT NULL,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`keywords` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `trans` (`trans`),
KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=139
Простейший запрос:
EXPLAIN SELECT * FROM cms_category ORDER BY name
Итого:
Using filesort
Делаю:
EXPLAIN SELECT * FROM cms_category FORCE INDEX(name) ORDER BY name
Всё ОК, индекс юзает.
Серьёзно? Для такого простейшего запроса надо mysql тыкать носом в index?
---------- Добавлено 13.05.2016 в 22:23 ----------
Таблица размером 512 КБ. Вычитал на немецком форуме, что если таблица слишком мала, то mysql может не взять индекс т.к. его подключение вызовет больше накладных расходов, чем сортировка напрямую.
Но тогда не ясно почему периодически появляется статус:
Creating sort index
На этой таблице.
На 512к индекс использовать смысла действительно нет. Ибо нет смысла использовать структуру сортировки для (грубо говоря) 10 элементов. Проще загрузить их сразу в память и там сортирнуть.
Но поскольку у Вас индекс прописан, то он должен периодически создаваться, даже если нет смысла его использовать, отсюда и периодически появляющийся статус.
Да и вообще, думать о происходящих процессах в таблице 512кб, это классическое "premature optimisation root of evil". Будет 512Мб - задумаетесь. Будет 5Гб - начнете решать появляющиеся проблемы. Будет 51.2Гб - задумаетесь о структуре и оптимизации:)