Сколько времени занимает добавление таблицы в svv_table_info? - PullRequest
0 голосов
/ 28 октября 2019

Я бы хотел использовать svv_table_info для расчета размера временной таблицы. Я буду использовать результат, чтобы определить, достаточно ли он мал для отправки в рабочую базу данных.

К сожалению, похоже, что между созданием таблицы и ее доступностью в svv_table_info существует задержка.

Вот мой код:

CREATE TEMP TABLE example_123 as 
SELECT *
FROM existing_table

select * 
from svv_table_info as ti
where ti.table ilike '%example_123%'

Когда я запускаю запрос, второй запрос ничего не возвращает.

Как долго мне ждать и есть ли более быстрый способ получить размер таблицы?

1 Ответ

0 голосов
/ 29 октября 2019

Отсрочки нет, что-то еще мешает вам увидеть таблицу в svv_table_info. Возможно, в нем нет рядов? Только таблицы, содержащие данные, отображаются в svv_table_info.

Вы можете использовать таблицы, используемые в представлении svv_table_info, для непосредственного получения нужных данных. https://docs.aws.amazon.com/redshift/latest/dg/r_STV_TBL_PERM.html

DROP TABLE IF EXISTS tmp_pk_test;
CREATE TEMP TABLE tmp_pk_test (
    country VARCHAR,
    state   VARCHAR,
    entries INTEGER,
    PRIMARY KEY (country, state)
);
INSERT INTO tmp_pk_test
VALUES ('USA', '00', 7001)
     , ('USA', '00', 1)
     , ('USA', '01', 20225)
     , ('USA', '02', 22772)
     , ('USA', '03', 4577)
     , ('USA', '04', 17877)
     , ('USA', '05', 19503);

SELECT a.tbl tbl_id , b.tbl_name , c.node
     , SUM(a.tbl_mb)   tbl_mb
     , SUM(b.tbl_rows) tbl_rows
FROM (SELECT tbl, slice, COUNT(*) tbl_mb
        FROM stv_blocklist a
      GROUP BY 1,2) a
JOIN (SELECT id, slice, TRIM(name) tbl_name, SUM(rows) tbl_rows
      FROM stv_tbl_perm 
      GROUP BY 1,2,3) b
ON a.tbl = b.id AND a.slice = b.slice
JOIN stv_slices c ON a.slice = c.slice
WHERE tbl_name LIKE 'tmp%'
GROUP BY 1,2,3
ORDER BY 1,2,3
;
-- tbl_id  |     tbl_name     | node | tbl_mb | tbl_rows
-----------+------------------+------+--------+----------
-- 1231945 | tmp_pk_test      |    0 |     24 |        5
-- 1231945 | tmp_pk_test      |    1 |     24 |        4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...