работая на красное смещение, иметь миллиарды записей в день, SQL-запрос и агрегаты слишком медленные? любые советы, как я могу сделать это быстрее - PullRequest
0 голосов
/ 02 октября 2019

, пожалуйста, помогите, если кто-либо имел дело с таблицами с миллиардами записей, а агрегаты, которые дают более 900 миллионов записей, работают слишком медленно. Советы по повышению качества красного смещения.

select
  NODATA_records,
  main.hotel_id,
  main.site_id,
  main.eapid,main.tpid,
  main.client_id,
  main.message_type,
  dense_rank() over (order by NODATA_records desc) AS Causerank FROM
(
  SELECT
    SUM(a.No_data_records) AS NODATA_records,
    b.hotel_id,
    b.site_id,
    b.eapid,
    b.tpid,
    b.client_id,
    b.message_type
  FROM
  (
    SELECT
      COUNT(*) AS No_data_records,
      shopping_request_uid
    FROM dm.shopping_package
    WHERE 
      shopped_datetime::date = current_date-2
      GROUP BY shopping_request_uid 
  )a
  INNER JOIN
  (
    SELECT
      count(*) AS No_data_records,
      shopping_request_uid,
      hotel_id,
      site_id,
      eapid,
      tpid,
      client_id,
      message_type
    FROM dm.shopping_product
    WHERE
      product_type='H'
      AND shopped_datetime::date =current_date-2
    GROUP BY shopping_request_uid,hotel_id,site_id,eapid,tpid,client_id,message_type
  )b
  ON a.shopping_request_uid=b.shopping_request_uid
  GROUP BY b.hotel_id,b.site_id,b.eapid,b.tpid,b.client_id,b.message_type
) main
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...