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

Привет! Хотел бы сразу задать вопрос про индексы. Имею базу на

постгрессе.

И есть вот такая таблица:
CREATE TABLE some_table
(
id BIGINT PRIMARY KEY,
v1 VARCHAR,
v2 VARCHAR,
v3 varchar(21) UNIQUE NOT NULL,
v4 VARCHAR(7),
version BIGINT NOT NULL,
reference_id BIGINT NOT NULL REFERENCES physical_resource_ref,
some_id_ref BIGINT REFERENCES some_anothr_table
);
CREATE INDEX idx_some_table_l
ON some_table (v1);
CREATE INDEX idx_some_table_h
ON some_table (v2);
CREATE INDEX idx_some_table_r
ON some_table (v3);

Как видно, есть три индекса. И вот, допустим я хочу посмотреть план выполнения EXPLAIN SELECT * FROM some_table.
На что получаю:
Seq Scan on some_table (cost=0.00..2.86 rows=86 width=75)

Выходит, что было переборов всего 86 штук, в то время как строк в таблице 105 штук. Или в этом случае происходит INDEX SCAN, а не TABLE SCAN? Т.е перебор идет не по всей таблице, а по бакетам b-дерева?

3 ответов

5 просмотров

rows тянется из статистики, которая может быть несколько устаревшей

> Имею базу на постгрессе. И почему бы не спрашивать в чате по нему? https://t.me/pgsql > Выходит, что было переборов всего 86 штук, в то время как строк в таблице 105 штук Нет, "rows=86" — это не количество "переборов", это оценочное количество возвращаемых этим узлом плана записей. > Или в этом случае происходит INDEX SCAN, а не TABLE SCAN? Т.е перебор идет не по всей таблице, а по бакетам b-дерева? Нет и нет. Что написано (seq.scan), то и будет выполнено.

Если в таблице 100 строку, никакие индексы не нужны и на будут использоваться

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

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

Хтось використовував Vapor на Windows?
Jaroshevskii
15
Не знаю куда ещё обратиться, есть вопрос Допустим у нас существуют два устройства, которые обмениваются данными по сети (в целом не важно как именно, допустим это 2.4гг) Како...
Артем
5
подскажите, а как можно очистить экран с библиотекой POSIX-UEFI?
Vi Chapmann 🪙
11
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
6
это кластер, в смысле связность сети высокая, или это сотня хакнутых компов, на которых вертится взлом /etc/passwd ?
Д. П.
8
@spiridonov_dv скажите, у вас будет 1 дц или несколько? переход обработки в другой дц нужен? что будет в таком случае с tcp/tls соединениями? если только udp, то все равно ост...
Ilya
2
Нужен пулл реквест с хаммингберд + асинкхттпклиент или хаммингберд + юрлсессия?
Karl {🌪️}{🐊} Shinobi
8
Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Карта сайта