172 похожих чатов

Hola! Есть возможность как-то реально оценить сколько ресурсов будет требовать какое-то

sql выражение?

Есть задача из view core_order_events сделать таблицу
Я это делала как показано ниже, потом дропнула view и переименовала таблицу
CREATE TABLE core_order_events_new AS SELECT * FROM core_order_events ORDER BY order_id

Лид топит за то, что бы создать сначала таблицу, потом заполнить так
INSERT INTO core_order_events_new(here goes list of columns)
SELECT * FROM core_order_events;

Может кто сравнивал или уже знает... Что из этого эффективнее? Есть прям сильный перекос в какую нибудь из сторон?

17 ответов

14 просмотров

Должно быть одинаково

Zamira-Norova Автор вопроса
Konstantin Zaitsev
Должно быть одинаково

А есть вообще инструмент, которым можно было бы оценить?

Создайте тестовую БД да проверьте )

Zamira-Norova Автор вопроса
Sergey Bezrukov
Создайте тестовую БД да проверьте )

Да и то и другое работает. Второй способ я проверю. Меня интересуют 2 вещи 1. Есть ли реальный инструмент, которым можно оценить сколько ресурсов это использует. Что бы к лиду идти точными данными 2. Может у какогото из способов есть подводные камни, о которых я могу не знать

Zamira Norova
Да и то и другое работает. Второй способ я проверю...

1. Нет, только тест. 2. Теоретически возможно, что создание таблицы в "длинной транзакции" с копированием данных чего-нибудь там залочит. Надо смотреть документацию и, возможно, исходники - как это реализовано.

Zamira Norova
А есть вообще инструмент, которым можно было бы оц...

Конечно. https://magazine.tagheuer.com/en/2023/06/29/only-watch-2023-the-new-tag-heuer-monaco-split-seconds-chronograph/

А зачем вы order by вставили?

Zamira-Norova Автор вопроса
Ilya Anfimov
А зачем вы order by вставили?

Это фигня. Можно убрать. Хотела что бы id и order_id были возрастающими. Просто во вью order by order_id desc

Есть определённые нюансы которые create-table-as-select передать не сможет postgres=# create table test1(txt text); CREATE TABLE postgres=# alter table test1 alter column txt set storage plain; ALTER TABLE postgres=# insert into test1 select repeat(md5(a::text),160) from generate_series(1,100) a; INSERT 0 100 postgres=# create table test2 as select * from test1; SELECT 100 postgres=# \dt+ test* List of relations Schema | Name | Type | Owner | Persistence | Access method | Size | Description --------+-------+-------+----------+-------------+---------------+--------+------------- public | test1 | table | postgres | permanent | heap | 832 kB | public | test2 | table | postgres | permanent | heap | 24 kB | (2 rows) postgres=#

Zamira-Norova Автор вопроса
Sergey Gr
Есть определённые нюансы которые create-table-as-s...

А что он мог не передать аж на 800+ kb? Я очень извиняюсь за глупые вопросы. Правда хотелось бы знать что под капотом

Zamira Norova
А что он мог не передать аж на 800+ kb? Я очень из...

Данные везде одинаковые. Для поля txt в таблице test1 не разрешено сжатие. А в таблице test2 соответственно разрешено.

В PG вроде нет разницы, а в Greenplum с CTAS всякие интересные баги исторически бывали (к 7 версии вроде всё пофиксят) - там аккуратно надо Ну и ещё надо помнить, что в CTAS такой же INSERT выполняется с такими же блокировками. Видел коллег, которые удивлялись, что CTAS им блокирует DDL на таблицах-источниках (как и любой INSERT/UPDATE/DELETE)

Zamira-Norova Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта