MySQL → Индексы в MySQL: многоколоночные индексы против комбинированных индексов
Я часто вижу ошибки, связанные с созданием индексов в MySQL. Многие разработчики (и не только новички в MySQL) создают много индексов на тех колонках, которые будут использовать в выборках, и считают это оптимальной стратегией. Например, если мне нужно выполнить запрос типа AGE=18 AND STATE='CA', то многие люди просто создадут 2 отдельных индекса на колонках AGE и STATE.
Намного лучшей (здесь и далее прим. переводчика: а обычно и единственной верной) стратегией является создание комбинированного индекса вида (AGE,STATE). Давайте рассмотрим почему это так.
Намного лучшей (здесь и далее прим. переводчика: а обычно и единственной верной) стратегией является создание комбинированного индекса вида (AGE,STATE). Давайте рассмотрим почему это так.
Блог им. Kpyto → Yahoo и почтовые индексы. Доколе?!
Ситуация проста до невозможности.
Я из Украины.
Из Киева.
Регистрируюсь на Yahoo:

Мой почтовый индекс 04214.
Yahoo уверенно сообщает что моего индекса не существует.
Поиск по Google дал множество вопросов и ни одного ответа - каких же индексов ждёт от нас Yahoo.
Служба поддержки молчит.
Варианты выбери Россию\Узбекистан\США хороши для липовых регистраций.
В случае утери ID запрашивается страна и почтовый индекс.
Помнить наугад выбранные числа несерьёзно.
P.S.: Доколе?
Я из Украины.
Из Киева.
Регистрируюсь на Yahoo:

Мой почтовый индекс 04214.
Yahoo уверенно сообщает что моего индекса не существует.
Поиск по Google дал множество вопросов и ни одного ответа - каких же индексов ждёт от нас Yahoo.
Служба поддержки молчит.
Варианты выбери Россию\Узбекистан\США хороши для липовых регистраций.
В случае утери ID запрашивается страна и почтовый индекс.
Помнить наугад выбранные числа несерьёзно.
P.S.: Доколе?
MySQL → Оптимизация работы с MySQL
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
Остановимся на каждой из этих групп подробнее.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
- данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
- все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
- советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
- в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.
Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
- Неиспользование или неправильное использование индексов.
- Неправильная структура БД.
- Неправильные \ неоптимальные SQL запросы.
Остановимся на каждой из этих групп подробнее.
MySQL → 4-я Встреча Moscow MUG — Проектирование индексов, 29.11
29 ноября, в четверг, в 19-00 при поддержке клуба «Бизнес в стиле RU»
пройдёт 4-я встреча Moscow MySQL User Group
Тема встречи: Проектирование индексов
Встречу будет проводить Руслан Закиров,
ведущий разработчик компании Best Practical Solutions,
которая занимается разработкой открытых продуктов
Request Tracker, SVK, Jifty, а также сервиса HiveMinder.com
План встречи
Адрес проведения: Москва, Мясницкая, 20, ГУ-ВШЭ, Аудитория 116
пройдёт 4-я встреча Moscow MySQL User Group
Тема встречи: Проектирование индексов
Встречу будет проводить Руслан Закиров,
ведущий разработчик компании Best Practical Solutions,
которая занимается разработкой открытых продуктов
Request Tracker, SVK, Jifty, а также сервиса HiveMinder.com
План встречи
1. Общие принципы устройства индексов.Чтобы попасть на семинар, зарегистрируйтесь по ссылке
2. Работа планировщика запросов:
- как планируется запрос
- как выполняется
- где в этой схеме индексы, сколько их.
3. Рассмотрим планы под лупой с помощью EXPLAIN:
- когда его читать
- как его читать, на что смотреть
- как его поменять используя индексы
- как его поменять используя дополнительные директивы
- и зачем это нужно.
4. Примеры:
Везде будут примеры, но более подробно мы остановимся на запросах, которые были на прошлой встрече в докладе и выжмем из них все соки, а также будут несколько примеров для демонстратиции различных эффектов и методов декомпозиции с целью увеличения эффективности использования индексов.
Адрес проведения: Москва, Мясницкая, 20, ГУ-ВШЭ, Аудитория 116
MySQL → EXPLAIN — Самая мощная команда MySQL
Самая мощная команда в MySQL – это EXPLAIN. EXPLAIN может в точности рассказать вам, что происходит, когда вы выполняете запрос. Эта информация позволит вам обнаружить медленные запросы и сократить время, затрачиваемое на обработку запроса, что впоследствии может значительно ускорить работу вашего приложения.