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

8 ответов

6 просмотров

Место на диске, возможно, скорость вставки и т.п. Ну и в принципе не создаю индексы, пока они реально не нужны

Konstantin Zaitsev
Зря

А какой профит? Всегда можно создать индекс тогда, когда он потребуется

Konstantin-Zaitsev Автор вопроса
Dmitriy Sviridov
А какой профит? Всегда можно создать индекс тогда,...

Всегда можно не парится ) Что у вас за скорость вставки что индекс влияет

Konstantin-Zaitsev Автор вопроса
Konstantin Zaitsev
Всегда можно не парится ) Что у вас за скорость в...

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

Konstantin-Zaitsev Автор вопроса
Dmitriy Sviridov
Я, если честно, не замерял, сильное воздействие на...

Проведите. Есть как в анекдоте «ньюансы» для IOT, OPC и тд, но в стандартной нагрузке не видел

Dmitriy Sviridov
Я, если честно, не замерял, сильное воздействие на...

А что там замерять? Вот script и мои результаты (и линейная регрессия для них): DROP TABLE IF EXISTS indexes_test; CHECKPOINT; CREATE UNLOGGED TABLE indexes_test ( -- Comment out UNLOGGED as needed id1 bigint NOT NULL, id2 bigint NOT NULL, id3 bigint NOT NULL, id4 bigint NOT NULL, id5 bigint NOT NULL, id6 bigint NOT NULL, id7 bigint NOT NULL, id8 bigint NOT NULL ); -- Comment out as needed: CREATE INDEX ON indexes_test(id1); CREATE INDEX ON indexes_test(id2); CREATE INDEX ON indexes_test(id3); CREATE INDEX ON indexes_test(id4); CREATE INDEX ON indexes_test(id5); INSERT INTO indexes_test(id1, id2, id3, id4, id5, id6, id7, id8) SELECT n, n, n, n, n, n, n, n FROM generate_series(1, 1000000) AS g(n); VACUUM ANALYZE indexes_test; -- This one is measured: INSERT INTO indexes_test(id1, id2, id3, id4, id5, id6, id7, id8) SELECT n, n, n, n, n, n, n, n FROM generate_series(1000001, 2000000) AS g(n); -------------------------------------------------------------------------------- -- № indexes | Unlogged time (min of 3 runs) | Logged time (min of 3 runs) -- 0 | 793.048 ms | 1697.086 ms -- 1 | 1428.326 ms | 2792.062 ms -- 2 | 2085.053 ms | 3696.384 ms -- 3 | 2687.056 ms | 4720.533 ms -- 4 | 3285.057 ms | 5851.648 ms -- 5 | 3892.328 ms | 6676.305 ms -- Rough approximation of the above: WITH base AS ( SELECT n, 793.0 + 630 * n AS unlogged, 1697.0 + 1000 * n AS logged FROM generate_series(0, 5) AS g(n) ) SELECT n AS n_indexes, unlogged, round(100 * (unlogged / LAG(unlogged) OVER (ORDER BY n) - 1), 2) AS "unlogged %", logged, round(100 * (logged / LAG(logged) OVER (ORDER BY n) - 1), 2) AS "logged %" FROM base; -- n_indexes | unlogged | unlogged % | logged | logged % -- 0 | 793.0 | | 1697.0 | -- 1 | 1423.0 | 79.45 | 2697.0 | 58.93 -- 2 | 2053.0 | 44.27 | 3697.0 | 37.08 -- 3 | 2683.0 | 30.69 | 4697.0 | 27.05 -- 4 | 3313.0 | 23.48 | 5697.0 | 21.29 -- 5 | 3943.0 | 19.02 | 6697.0 | 17.55 Каждый может попробовать и сделать выводы (вывести очевидное rule of thumb) самостоятельно. ;)

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта