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

>Да. К производительности доступа это какое имеет отношение? Самое что ни

на есть прямое. Поиск по индексу - это random read. Среднее время позиционирования голвки HDD ~10msec (SSD конечно сильно лучше).
Высота дерева для достаточно большой таблицы - 4..10 (зависит от размера ключа). Если индекс не влезает целиком в память, то нам придётся делать несколько random readов, что соотвествует скорости 10..100 операций с деревом с секунду. Т.е. даже на простейший точечных запросах мы получим порядка 10 TPS. Не впечатляет?
А вот если индекс влезет целиуклм в память эта скорость увеличится на несколько порядков. С SSD картиа менее пчальная, но существенные разрыв между сокростью чтения из памяти и диска всё равно имеет место быть.

> Да для maintenance (ну и для огромных таблиц, потому что иначе не получится) они нужны на самом деле!
Вот это как раз совершенно абстрактное утверждение. Что понимается под "maintenance"? Alter table, copy, vacuum, analyze, create index,...? Опять таки тут партицирование может помочь если доступ естейственным образом партицирован (работа с неким подмножеством записей).
И почему для огромных таблиц "иначе не получится"? Есть конечно случай, когда данные просто не влезают на одну машину. Но мы же говорим про локальное партицирование?

1 ответов

7 просмотров

> Высота дерева для достаточно большой таблицы - 4..10 (зависит от размера ключа). Вы можете показать дерево с высотой 10 (или, хотя бы, 7), в реальной таблице (это несколько "в сторону", просто в самом деле интересно)? > Если индекс не влезает целиком в память, то нам придётся делать несколько random readов, что соотвествует скорости 10..100 операций с деревом с секунду. Нет, не придётся! Не нужно сравнивать тёплое с мягким, пожалуйста. Мы сравниваем partitioned table с обычной, и если Вам в обычной таблице пришлось бы прочитать весь индекс, то и в partitioned Вам придётся прочитать все индексы всех partitions, не так ли? > Т.е. даже на простейший точечных запросах мы получим порядка 10 TPS. Не впечатляет? Нет, не впечатляет. Было бы это на самом деле так — впечатляло бы. ;) > А вот если индекс влезет целиуклм в память эта скорость увеличится на несколько порядков. Если его читать целиком — да. Вообще, давайте разберёмся, о каком (каких) конкретных случаях (классах запросов и индексов) мы говорим? > Alter table, copy, vacuum, analyze, create index,...? Да. + ATTACH/DETACH. > Опять таки тут партицирование может помочь если доступ естейственным образом партицирован (работа с неким подмножеством записей). Скажите мне, сколько autovacuums могут работать на одной таблице одновременно? А на партиционированной "таблице", у которой 20 partitions? ;) И то же самое относится к индексам, например. Сколько будет строиться индекс на первой таблице? А на второй? Что будет, если PostgreSQL "упадёт", пока строился индекс (сколько работы будет потеряно)? А как можно строить индекс на большой таблице "по частям" (к примеру, по ночам для уменьшения нагрузки)? > И почему для огромных таблиц "иначе не получится"? Потому что: https://www.postgresql.org/docs/current/limits.html relation size 32 TB

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта