SELECT 
  SQL_CALC_FOUND_ROWS cscart_cp_blog_posts.*, 
  cscart_cp_blog_post_descriptions.*, 
  cscart_cp_blog_authors.name as author_profile, 
  (
    cscart_cp_blog_posts.timestamp + cscart_cp_blog_posts.post_id
  ) as next_ts, 
  (
    SELECT 
      GROUP_CONCAT(
        IF(
          cscart_cp_blog_post_categories.link_type = "M", 
          CONCAT(
            cscart_cp_blog_post_categories.category_id, 
            "M"
          ), 
          cscart_cp_blog_post_categories.category_id
        )
      )
  ) as category_ids 
FROM 
  cscart_cp_blog_posts 
  INNER JOIN cscart_cp_blog_post_categories ON cscart_cp_blog_post_categories.post_id = cscart_cp_blog_posts.post_id 
  INNER JOIN cscart_cp_blog_categories ON cscart_cp_blog_categories.category_id = cscart_cp_blog_post_categories.category_id 
  AND (
    cscart_cp_blog_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_cp_blog_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_cp_blog_categories.usergroup_ids
    )
  ) 
  AND cscart_cp_blog_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_cp_blog_post_descriptions ON cscart_cp_blog_posts.post_id = cscart_cp_blog_post_descriptions.post_id 
  AND cscart_cp_blog_post_descriptions.lang_code = 'ru' 
  LEFT JOIN cscart_cp_blog_authors ON cscart_cp_blog_authors.author_id = cscart_cp_blog_posts.author_id 
WHERE 
  1 
  AND cscart_cp_blog_posts.status IN ('A') 
  AND cscart_cp_blog_categories.company_id = 1 
  AND (
    cscart_cp_blog_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_cp_blog_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_cp_blog_categories.usergroup_ids
    )
  ) 
  AND (
    cscart_cp_blog_posts.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_cp_blog_posts.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_cp_blog_posts.usergroup_ids
    )
  ) 
  AND (
    cscart_cp_blog_posts.use_avail_period = 'N' 
    OR (
      cscart_cp_blog_posts.use_avail_period = 'Y' 
      AND cscart_cp_blog_posts.avail_from_timestamp <= 1754116224 
      AND (
        IF (
          avail_till_timestamp > 0, avail_till_timestamp, 
          1754116224
        )
      ) >= 1754116224
    )
  ) 
  AND cscart_cp_blog_post_categories.category_id IN (2, 3) 
  AND cscart_cp_blog_posts.timestamp = 1702846800 
  AND cscart_cp_blog_posts.type = 'R' 
GROUP BY 
  cscart_cp_blog_posts.post_id 
ORDER BY 
  cscart_cp_blog_posts.timestamp desc, 
  cscart_cp_blog_posts.post_id desc 
LIMIT 
  0, 12

Query time 0.00101

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "9.08"
    },
    "ordering_operation": {
      "using_filesort": false,
      "grouping_operation": {
        "using_temporary_table": true,
        "using_filesort": true,
        "nested_loop": [
          {
            "table": {
              "table_name": "cscart_cp_blog_authors",
              "access_type": "system",
              "possible_keys": [
                "PRIMARY"
              ],
              "rows_examined_per_scan": 0,
              "rows_produced_per_join": 1,
              "filtered": "0.00",
              "const_row_not_found": true,
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "0.20",
                "prefix_cost": "0.00",
                "data_read_per_join": "416"
              },
              "used_columns": [
                "author_id",
                "name"
              ]
            }
          },
          {
            "table": {
              "table_name": "cscart_cp_blog_categories",
              "access_type": "range",
              "possible_keys": [
                "PRIMARY"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "rows_examined_per_scan": 2,
              "rows_produced_per_join": 0,
              "filtered": "20.00",
              "index_condition": "(`44mm_ru`.`cscart_cp_blog_categories`.`category_id` in (2,3))",
              "cost_info": {
                "read_cost": "4.73",
                "eval_cost": "0.08",
                "prefix_cost": "4.81",
                "data_read_per_join": "633"
              },
              "used_columns": [
                "category_id",
                "usergroup_ids",
                "status",
                "company_id"
              ],
              "attached_condition": "((`44mm_ru`.`cscart_cp_blog_categories`.`company_id` = 1) and ((`44mm_ru`.`cscart_cp_blog_categories`.`usergroup_ids` = '') or find_in_set(0,`44mm_ru`.`cscart_cp_blog_categories`.`usergroup_ids`) or find_in_set(1,`44mm_ru`.`cscart_cp_blog_categories`.`usergroup_ids`)) and ((`44mm_ru`.`cscart_cp_blog_categories`.`usergroup_ids` = '') or find_in_set(0,`44mm_ru`.`cscart_cp_blog_categories`.`usergroup_ids`) or find_in_set(1,`44mm_ru`.`cscart_cp_blog_categories`.`usergroup_ids`)) and (`44mm_ru`.`cscart_cp_blog_categories`.`status` in ('A','H')))"
            }
          },
          {
            "table": {
              "table_name": "cscart_cp_blog_posts",
              "access_type": "ref",
              "possible_keys": [
                "PRIMARY",
                "status"
              ],
              "key": "status",
              "used_key_parts": [
                "status"
              ],
              "key_length": "3",
              "ref": [
                "const"
              ],
              "rows_examined_per_scan": 34,
              "rows_produced_per_join": 0,
              "filtered": "2.86",
              "cost_info": {
                "read_cost": "1.40",
                "eval_cost": "0.08",
                "prefix_cost": "8.93",
                "data_read_per_join": "1K"
              },
              "used_columns": [
                "post_id",
                "timestamp",
                "separate",
                "status",
                "localization",
                "image_id",
                "company_id",
                "discussion_type",
                "author",
                "is_sent",
                "usergroup_ids",
                "use_avail_period",
                "avail_from_timestamp",
                "avail_till_timestamp",
                "type",
                "is_approved",
                "additional_data",
                "cp_og_data_type",
                "section_id",
                "facebook_obj_type",
                "gallery_columns",
                "gallery_type",
                "gallery_image_width",
                "gallery_image_height",
                "viewed",
                "start_timestamp",
                "end_timestamp",
                "send_via_email",
                "read_time",
                "rss_news",
                "rss_zen",
                "rss_turbo",
                "rss_news_cat",
                "rss_zen_cat",
                "rss_zen_adult",
                "author_id",
                "update_timestamp"
              ],
              "attached_condition": "((`44mm_ru`.`cscart_cp_blog_posts`.`timestamp` = 1702846800) and ((`44mm_ru`.`cscart_cp_blog_posts`.`usergroup_ids` = '') or find_in_set(0,`44mm_ru`.`cscart_cp_blog_posts`.`usergroup_ids`) or find_in_set(1,`44mm_ru`.`cscart_cp_blog_posts`.`usergroup_ids`)) and ((`44mm_ru`.`cscart_cp_blog_posts`.`use_avail_period` = 'N') or ((`44mm_ru`.`cscart_cp_blog_posts`.`use_avail_period` = 'Y') and (`44mm_ru`.`cscart_cp_blog_posts`.`avail_from_timestamp` <= 1754116224) and (if((`44mm_ru`.`cscart_cp_blog_posts`.`avail_till_timestamp` > 0),`44mm_ru`.`cscart_cp_blog_posts`.`avail_till_timestamp`,1754116224) >= 1754116224))) and (`44mm_ru`.`cscart_cp_blog_posts`.`type` = 'R'))"
            }
          },
          {
            "table": {
              "table_name": "cscart_cp_blog_post_categories",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "post_id",
                "category_id"
              ],
              "key_length": "6",
              "ref": [
                "44mm_ru.cscart_cp_blog_posts.post_id",
                "44mm_ru.cscart_cp_blog_categories.category_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 0,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "0.08",
                "prefix_cost": "9.01",
                "data_read_per_join": "6"
              },
              "used_columns": [
                "post_id",
                "category_id",
                "link_type"
              ]
            }
          },
          {
            "table": {
              "table_name": "cscart_cp_blog_post_descriptions",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "post_id",
                "lang_code"
              ],
              "key_length": "9",
              "ref": [
                "44mm_ru.cscart_cp_blog_posts.post_id",
                "const"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 0,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "0.08",
                "prefix_cost": "9.09",
                "data_read_per_join": "1K"
              },
              "used_columns": [
                "post_id",
                "name",
                "short_description",
                "description",
                "extra_info",
                "gallery_section_name",
                "lang_code",
                "page_title",
                "post_h2",
                "meta_description",
                "meta_keywords",
                "cp_st_h1",
                "cp_st_custom_bc"
              ]
            }
          }
        ],
        "select_list_subqueries": [
          {
            "dependent": true,
            "cacheable": false,
            "query_block": {
              "select_id": 2,
              "message": "No tables used"
            }
          }
        ]
      }
    }
  }
}

Result

post_id timestamp separate status localization image_id company_id discussion_type author is_sent usergroup_ids use_avail_period avail_from_timestamp avail_till_timestamp type is_approved additional_data cp_og_data_type section_id facebook_obj_type gallery_columns gallery_type gallery_image_width gallery_image_height viewed start_timestamp end_timestamp send_via_email read_time rss_news rss_zen rss_turbo rss_news_cat rss_zen_cat rss_zen_adult author_id update_timestamp name short_description description extra_info gallery_section_name lang_code page_title post_h2 meta_description meta_keywords cp_st_h1 cp_st_custom_bc author_profile next_ts category_ids
32 1702846800 N A 0 1 D Администратор N 0 N 0 0 R Y A 2 A 1337 0 0 N 2 N N Y N 0 1702846800 Выбор телекоммуникационного шкафа <p>Телекоммуникационные шкафы (телеком-шкафы) - это специализированные шкафы, предназначенные для размещения телекоммуникационного оборудования, такого как маршрутизаторы, коммутаторы, серверы и другое оборудование. Телеком-шкафы обеспечивают защиту оборудования от пыли, влаги, механических повреждений и несанкционированного доступа.<br></p> <p>При выборе телекоммуникационного шкафа необходимо учитывать следующие факторы:</p> <ul><li>Тип оборудования, которое будет размещено в шкафу.</li><li>Количество оборудования, которое будет размещено в шкафу.</li><li>Климатические условия, в которых будет эксплуатироваться шкаф.</li><li>Бюджет.</li></ul> <h3>Тип оборудования</h3> <p>Первым делом необходимо определить тип оборудования, которое будет размещено в шкафу. Это позволит выбрать шкаф с соответствующими размерами и конфигурацией. Например, для размещения серверов потребуется шкаф с большей глубиной, чем для размещения коммутаторов.</p> <h3>Количество оборудования</h3> <p>Также необходимо определить количество оборудования, которое будет размещено в шкафу. Это позволит выбрать шкаф с необходимой высотой. Например, для размещения 10 маршрутизаторов потребуется шкаф высотой минимум 10U, дополнительно нужно продумать размещение пассивного оборудования для размещения патчкородов.</p> <h3>Климатические условия</h3> <p>Телекоммуникационные шкафы могут эксплуатироваться в различных климатических условиях. Необходимо выбрать шкаф, который предназначен для эксплуатации в условиях, соответствующих предполагаемому месту установки. Например, для установки в помещении с высокой влажностью потребуется шкаф с влагозащитой.</p> <h3>Бюджет</h3> <p>Конечно, также необходимо учитывать бюджет. Телекоммуникационные шкафы могут иметь разную стоимость, в зависимости от материалов, конструкции и оснащения.</p> <p>Основные характеристики телекоммуникационных шкафов</p> <p>Телекоммуникационные шкафы характеризуются следующими основными параметрами:</p> <ul><li><strong>Высота:</strong>&nbsp;Высота шкафа измеряется в единицах юнитов (U). Один юнит равен 44,45 мм. Высота шкафа определяет количество оборудования, которое можно разместить в нем.</li><li><strong>Глубина:</strong>&nbsp;Глубина шкафа измеряется в миллиметрах. Глубина шкафа определяет размер оборудования, которое можно разместить в нем.</li><li><strong>Ширина:</strong>&nbsp;Ширина шкафа измеряется в миллиметрах. Ширина шкафа определяет размер оборудования, которое можно разместить в нем.</li><li><strong>Материал:</strong>&nbsp;Телеком-шкафы изготавливаются из различных материалов, включая сталь, алюминий и пластик. Стальные шкафы прочные и долговечные, но они также более тяжелые и дорогие. Алюминиевые шкафы легче стальных, но они также менее прочные. Пластиковые шкафы самые легкие и доступные, но они также менее прочные и долговечные.</li><li><strong>Тип установки:&nbsp;</strong>Телеком-шкафы могут устанавливаться на полу, стене или встраиваться в стену. Напольные шкафы наиболее распространены и подходят для размещения большого количества оборудования. Настенные шкафы занимают меньше места, но они могут вместить меньше оборудования. Встраиваемые шкафы обеспечивают максимальную экономию пространства, но они требуют специальных навыков для установки.</li><li><strong>Климатические условия</strong>:&nbsp;Телеком-шкафы могут быть предназначены для эксплуатации в различных климатических условиях. Шкафы для эксплуатации в помещениях обычно имеют стандартную температуру и влажность. Шкафы для эксплуатации в неблагоприятных условиях, таких как холодные склады или жаркие цеха, могут иметь специальную конструкцию и оснащение.</li></ul> <h3>Дополнительные аксессуары</h3> <p>Кроме самих телекоммуникационных шкафов, существуют различные аксессуары, которые могут использоваться для повышения эффективности и безопасности эксплуатации оборудования. К таким аксессуарам относятся:</p> <ul><li><strong>Кабельные организаторы:</strong>&nbsp;Кабельные организаторы помогают упорядочить кабели в шкафу и предотвратить их повреждение.</li><li><strong>Элементы заземления:&nbsp;</strong>Элементы заземления обеспечивают заземление оборудования в шкафу для защиты от поражения электрическим током.</li><li><strong>Сетевые фильтры:&nbsp;</strong>Сетевые фильтры защищают оборудование от помех и скачков напряжения.</li><li><strong>Системы охлаждения:</strong>&nbsp;Системы охлаждения помогают поддерживать оптимальную температуру в шкафу для обеспечения надежной работы оборудования.</li></ul> <p>Выбор телекоммуникационного шкафа</p> <p>При выборе телекоммуникационного шкафа необходимо учитывать все вышеперечисленные факторы. Если вы не уверены, какой шкаф выбрать, лучше проконсультироваться со специалистом.</p> <p></p> ru Выбор телекоммуникационного шкафа - как разобраться и купить Телекоммуникационные шкафы телеком-шкафы - это специализированные шкафы предназначенные для размещения телекоммуникационного оборудования такого как маршрутизаторы коммутаторы серверы и другое оборудование Телеком-шкафы обеспечивают защиту оборудования от шкафы, оборудования, шкафа, которое, шкаф, могут, размещения, необходимо 1702846832 3M