же самые значения или нет?)
Представим аналогичные таблицы с 10 столбцами разного содержания (инты, чары, id, jsonb)
Нужно сделать select * from table where hash = ...
В одном случае hash это varchar(20), заполненный на 12 символов. В другом - uuid
> Второй вопрос — прирост по скорости чего, каких запросов (так, чтобы был абстрактный прирост, случается редко)
В одном случае идёт
Select col1, col2, (select from *обращение к жсону с innerjoin к другой таблице*) as col3
From table
В другом -
Select t1.col1, t1.col2, t2.col3
from t1
Join mapping table as m on m.t1id = t1.id
Join t2 on m.t2id = t2.id
1. В первом случае varchar(20) может быть короче (зависит от alignment), а, значит, seqscan может быть быстрее. 2. Т.е. выбирается вся/все таблицы целиком, без дополнительных условий? Тогда зависит от I/O, в основном. А если I/O нет или минимальное... сходу тоже не скажешь (тут несколько факторов, нужно тестировать, по-хорошему).
Обсуждают сегодня