Ускорить работу БД

Бюджет: По договоренности

Необходима легка оптимизация работы с БД сайта. Давно подключен лог медленных запросов mariadb_slow.log и судя по логу слишком там много записей. Для наглядности приведу кусок лога:

# Time: 200603 10:53:38
# User@Host: dp_dp[dp_dp] @ localhost []
# Thread_id: 17635534 Schema: dp_dp QC_hit: No
# Query_time: 3.676814 Lock_time: 0.000051 Rows_sent: 80 Rows_examined: 44772
SET timestamp=1591167218;
SELECT DISTINCT p.*,p.id,(p.count > 0 || p.count IS NULL) AS in_stock
FROM shop_product p
JOIN shop_category_products cp1
ON p.id = cp1.product_id
WHERE p.status = 1
AND cp1.category_id IN(901,2970,903,4717,2213,920,934,935,938,945,2612,1579,983,995,1007,3098,3108,1040,1163,1072,2219,2220,2221,2218,2222,1088,1576,2406,6041,6042,1102,1103,1105,1106,1114,1117,3088,4711,1785,1772,2216,1992,1733,1734,1735,1736,1737,1738,1739,3100,3095,3096,3097,2049,2193,4712,4716,4715,4710,1990,1996,2002,2003,2224,3057,2073,2191,4720,2307,2325,2893,3117,3118,4718,4719,2926,3020,3092,3091,3132,3133,3089,3094,3093,5310,4709,4831,6026,5976,5975,5961,5952,6027,6028,6029,6030,6031,5875) ORDER BY (p.count > 0 || p.count IS NULL) DESC,(p.hidden_rating+p.rating) DESC, cast(p.rating_count as DECIMAL) DESC
LIMIT 80;

и особенно часто повторяется это:

SELECT /*!40001 SQL_NO_CACHE */ * FROM `mailer_message_log`;
# Time: 200603 10:00:21
# User@Host: root[root] @ localhost []
# Thread_id: 17607585 Schema: dp_dp QC_hit: No
# Query_time: 1.450690 Lock_time: 0.000009 Rows_sent: 176486 Rows_examined: 176486
SET timestamp=1591164021;

В общем смотреть должен специалист. В БД имеется какая то огромная таблица почти на 2Г и по содержимому похожа на сбор статистики по рассылкам. БД у нас старая (с 2013 года)

2 ответа

  • Добрый день. Готов поработать.

    Почта: sergkovalsky.webasyst@gmail.com
    Скайп по почте: sergkovalsky.webasyst@gmail.com
    Телеграмм @sergkovalsky

  • Добрый день!

    Готовы помочь с Вашей задачей, прошу связаться со мной для уточнения сроков и стоимости. info@art-zhuravlev.ru, либо по телефону +7 (925) 803-95-67.

    С уважением,

    Журавлев Артем.

Откликнуться на заказ

Отклики на заказы могут добавлять только зарегистрированные эксперты и разработчики Webasyst. Стать экспертом.

Чтобы добавить комментарий, зарегистрируйтесь или войдите