войти зарегистрироваться

MySQLИндексы в MySQL: многоколоночные индексы против комбинированных индексов

Я часто вижу ошибки, связанные с созданием индексов в MySQL. Многие разработчики (и не только новички в MySQL) создают много индексов на тех колонках, которые будут использовать в выборках, и считают это оптимальной стратегией. Например, если мне нужно выполнить запрос типа AGE=18 AND STATE='CA', то многие люди просто создадут 2 отдельных индекса на колонках AGE и STATE.

Намного лучшей (здесь и далее прим. переводчика: а обычно и единственной верной) стратегией является создание комбинированного индекса вида (AGE,STATE). Давайте рассмотрим почему это так.

Блог им. KpytoYahoo и почтовые индексы. Доколе?!

Ситуация проста до невозможности.
Я из Украины.
Из Киева.
Регистрируюсь на Yahoo:

Yahoo и почтовые индексы

Мой почтовый индекс 04214.
Yahoo уверенно сообщает что моего индекса не существует.
Поиск по Google дал множество вопросов и ни одного ответа - каких же индексов ждёт от нас Yahoo.

Служба поддержки молчит.

Варианты выбери Россию\Узбекистан\США хороши для липовых регистраций.
В случае утери ID запрашивается страна и почтовый индекс.
Помнить наугад выбранные числа несерьёзно.

P.S.: Доколе?

MySQLОптимизация работы с MySQL

Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.

MySQL4-я Встреча Moscow MUG — Проектирование индексов, 29.11

29 ноября, в четверг, в 19-00 при поддержке клуба «Бизнес в стиле RU»
пройдёт 4-я встреча Moscow MySQL User Group

Тема встречи: Проектирование индексов

Встречу будет проводить Руслан Закиров,
ведущий разработчик компании Best Practical Solutions,
которая занимается разработкой открытых продуктов
Request Tracker, SVK, Jifty, а также сервиса HiveMinder.com

План встречи
1. Общие принципы устройства индексов.

2. Работа планировщика запросов:
- как планируется запрос
- как выполняется
- где в этой схеме индексы, сколько их.

3. Рассмотрим планы под лупой с помощью EXPLAIN:
- когда его читать
- как его читать, на что смотреть
- как его поменять используя индексы
- как его поменять используя дополнительные директивы
- и зачем это нужно.

4. Примеры:
Везде будут примеры, но более подробно мы остановимся на запросах, которые были на прошлой встрече в докладе и выжмем из них все соки, а также будут несколько примеров для демонстратиции различных эффектов и методов декомпозиции с целью увеличения эффективности использования индексов.
Чтобы попасть на семинар, зарегистрируйтесь по ссылке

Адрес проведения: Москва, Мясницкая, 20, ГУ-ВШЭ, Аудитория 116

MySQLEXPLAIN — Самая мощная команда MySQL

Самая мощная команда в MySQL – это EXPLAIN. EXPLAIN может в точности рассказать вам, что происходит, когда вы выполняете запрос. Эта информация позволит вам обнаружить медленные запросы и сократить время, затрачиваемое на обработку запроса, что впоследствии может значительно ускорить работу вашего приложения.