Сейчас я столкнулся с очень медленной базой данных MySQL. Что касается оборудования, все выглядит нормально, но у нас все еще много запросов, которые выполняются очень медленно.
Мы используем проприетарное программное обеспечение, поэтому мы не можем оптимизировать запросы, и вся оптимизация производительности должна выполняться на стороне базы данных. Я ищу несколько советов от вас, ребята, где смотреть, за чем следить и какие основные процедуры следует соблюдать.
Заранее благодарю за любую помощь!
ps .: Также приветствуются сообщения в блогах, статьи и другие ссылки с КАЧЕСТВЕННЫМ содержанием. Пожалуйста, не троллите вопрос, сообщающий мне, в Google, потому что, если бы я хотел, я бы Google. Я ищу качественный совет от опытных людей, качественные ссылки, а не просто случайную чушь, найденную поисковиками.
Попробуйте бежать mysqltuner.pl чтобы убедиться, что ваша конфигурация работает нормально.
Вы можете получить это от github или от создателя Вот Даже если вы не можете изменить запросы, вы всегда можете использовать EXPLAIN
по проблемным запросам, чтобы понять, как могут помочь индексы. Следите за журналом медленных запросов, чтобы увидеть, на каких запросах следует сосредоточиться.
Если вы не можете настроить запросы производительности, вы можете изучить такие вещи, как индексация и разделение
Вам нужно будет посмотреть на запросы, выполняемые с помощью профилировщика, чтобы определить, какие индексы будут наиболее эффективными.
Секционирование актуально, только если у вас очень большие таблицы.
Использовать Views
скорее, чем select x,y from z where c = 'value'
Использовать Stored procedures
Узнайте, какой механизм базы данных вам подходит.
Если бы вы могли измерить время выполнения запросов, вы могли бы прийти к результату, вот в чем именно заключается проблема.