@Hfnas

Вопросы по теории mysql?

1) Если нужно сортировать по каждому столбцу каждой таблицы , то индекс лучше не создавать по каждому столбцу? Есть таблица, кликаем на заголовок таблицы. идет сортировка.
2) Сколько по времени должны выполняться все запросы на одной странице?
3) Как правильно составить запросы, сначала нужно исследовать запрос при помощи explain, а потом писать в php?
4)Нужно составлять запросы так, чтобы explain: type<>ALL
5) Подскажите, пожалуйста, хороший ресурс про создание индексов.
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Есть таблица, кликаем на заголовок таблицы. идет сортировка
составной индекс если будут использоваться много полей, и отдельные если каждое из полей будет одиночной сортировкой.

Сколько по времени должны выполняться все запросы на одной странице?
В общем случае запросы должны выполняться за время меньше секунды, близкое к 1 секунде уже считается весьма высоким. Исключения составляют приложения с очень сложной логикой, где ожидание ответа не сильно меняет ценность результата. Например на сайте новостей 1 секунда это много, а на приложении с миллиардами записей статистики по мировым продажам жвачки в розницу для планирования расширения сети продаж с 30 объединениями/группировками/дистинкт выборками надцать секунд или даже минут это норм, так как задача другая совершенно.

Как правильно составить запросы, сначала нужно исследовать запрос при помощи explain, а потом писать в php?
сначала пишется запрос с требуемым результатом, затем его можно оптимизировать. Так как оптимизация редко идет по пути изменения самого запроса, переписывать его не надо, а explain подскажет где можно подкрутить что-то на уровне индексов/памяти, код при этом вообще не трогается. Да и по большому счету 99% типовых задач не пишутся руками, а пускаются через модель/орм.

Нужно составлять запросы так, чтобы explain: type<>ALL
Если вам нужен именно конкретный запрос с конкретным набором выходных данных, менять вы его не будете, логично что крутить вы можете только структуры данных и индексы, ну может еще что-то в настройках самого сервера.

Подскажите, пожалуйста, хороший ресурс про создание индексов.
Дока по используемой бд достаточно хорошо описывает работу с индексами. Более подробно можно спросить ребят профильно занимающихся работой с бд, Akina, Лентюй ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы