Что лучший способ состоит в том, чтобы диагностировать и представить MySQL в живом рабочем сервере?

В соответствии с таблицей бронирования на вашем первом изображении, ваши бронирования никак не связаны с местами, только с людьми.

Вам нужно иметь другую таблицу, которая связывает резервирование с идентификаторами мест. Конечно, вы можете просто добавить столбец идентификатора места в таблицу бронирования, но, очевидно, это создаст проблемы, когда человек зарезервирует более 1 места.

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

После добавления таблицы зарезервированных мест, которая может быть чем-то простым:

Idreservation,
Idseat

Затем вы можете получить места для бронирования по:

Select rowletter, seat_number from seats
Where idseat in (select idseat from reserved_seats where idreservation=the reservation you are checking now)

Это предполагает Вы переместили Rowletter к столу сидений.

12
задан Node 6 March 2009 в 15:06
поделиться

3 ответа

В первую очередь, необходимо настроить некоторый контроль с, например:

Другой май полезные инструменты: mytop innotop mtop maatkit

В addtion необходимо позволить регистрировать медленные запросы в my.cnf.

Прежде чем Вы начнете настраиваться/изменять параметры, необходимо создать некоторый план тестирования и выдержать сравнение прежде чем/после того, как результаты, чтобы видеть, имели ли изменения смысл или нет.

10
ответ дан 2 December 2019 в 20:41
поделиться

Это - что-то, что я продолжил работать вполне немного.

  • MonYog - Контрольный сервис MySQL. Мы используем это в производстве. Это не свободно, но имеет много функций, включая предупреждения и исторические данные.

  • Монитор MySQL Enterprise - доступный с предприятием MySQL (т.е. не дешевый)

  • Самокрутка!

Об опции самокрутки:

Мы на самом деле разработали действительно прохладное приложение мониторинга, которое использует инструмент RRD (используемый общим MRTG) и комбинация статистики MySQL и системная статистика, такая как iostat. Это не было только большим осуществлением, но и дало нам тонну гибкости для контроля точно, что мы хотим от единственного интерфейса.

Вот Краткое Описание некоторых подходов к созданию Вашей собственной статистики.

Одна из наших больших мотиваций для прокрутки нашего собственного, даже при том, что мы также используем MonYog, должна была отследить дисковую статистику. Диск i/o может быть главным узким местом, и стандартные системы контроля MySQL не имеют контроля i/o. Мы используем iostat, который является частью systat пакета.

У нас есть интерфейс, который отображает графики статистики MySQL рядом с диском i/o статистика, позволяя нам действительно получить общую картину того, как загрузка MySQL влияет на диск i/o.

Перед этим мы действительно понятия не имели, почему наши производственные приложения увязали. Мы обнаружили, что диск i/o был главной проблемой, и что MySQL составлял много временных таблиц на диске, когда мы выполняли сложные запросы. Мы смогли оптимизировать наши запросы и улучшить производительность диска существенно.

3
ответ дан 2 December 2019 в 20:41
поделиться

Jet Profiler точно

2
ответ дан 2 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: