Цены PRO вешает базу данных

Умирает база при смене курса валют.

Вот этот запрос блочит всю работу базы данных:

SELECT DISTINCT s.id FROM shop_product_skus s JOIN shop_product p ON s.product_id = p.id JOIN shop_pricex_sku_price AS sku_price ON sku_price.sku_id = s.id AND sku_price.price_type_id = 4 WHERE (p.currency = 'USD' OR sku_price.currency = 'USD') AND s.id > 18321 ORDER BY s.id LIMIT 100

Это ни разу не круто! Чтобы простая смена курса ложила сайт!!

8 ответов

  • 4
    waResearchLab 3 февраля 2025 12:39 #

    Если такой простой запрос ста записей кладет вашу СУБД, то это скорее вопрос к вашей СУБД а не к запросу. Посмотрите внимательней на конфигурацию СУБД.

    • +1
      Katvizkiy Stanislav Katvizkiy Stanislav 3 февраля 2025 12:51 #

      memlock
      max_connections                 = 350
      connect_timeout                 = 300
      wait_timeout                    = 300
      interactive_timeout             = 300
      max_allowed_packet              = 128m
      table_open_cache                = 10000
      skip-external-locking
      skip-name-resolve
      low-priority-updates
      key_buffer_size = 128m
      innodb_file_per_table
      innodb_buffer_pool_size = 512m
      innodb_flush_log_at_trx_commit = 0
      innodb_flush_method = O_DIRECT
      innodb_buffer_pool_instances = 1
      skip-innodb-doublewrite
      tmpdir = /dev/shm
      tmp_table_size  = 512m
      max_heap_table_size = 512m
      bulk_insert_buffer_size = 512m
      max_join_size = 20000000
      ### qcache
      query_cache_size = 256m
      query_cache_limit=25M

    • +1
      Katvizkiy Stanislav Katvizkiy Stanislav 3 февраля 2025 12:51 #

      спасибо большое за ответ, настройки такие

  • 1
    Katvizkiy Stanislav 3 февраля 2025 12:53 #

    буду очень благодарен за помощь, что поменять

    • +1
      waResearchLab waResearchLab 3 февраля 2025 13:01 #

      Я не знаю что надо поменять. Это всегда экспертная оценка исходя из конкретной ситуации, поэтому лучше вас никто не ответит на этот вопрос. Для затравки, не более: учитывая что в "проблемном" (если это действительно так) запросе есть несколько JOIN, можно поэкспериментировать с параметром optimizer_search_depth

  • 1
    Михаил Ушенин 3 февраля 2025 12:55 #

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

  • 1
    BodySite 3 февраля 2025 13:05 #

    Добрый день. Напишите нам, мы все проверим.

Эта тема в архиве. Добавление комментариев к ней отключено.