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 ответов

13 просмотров

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

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 Автор вопроса

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

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

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта