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

8 ответов

26 просмотров

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

Konstantin Zaitsev
Зря

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

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

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

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) самостоятельно. ;)

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта