Фотография
нажмите — покажем
нажмите — покажем
SQL-запрос доезжает до хранилища набором ключей, и от их формата зависит, будет чтение по ключу или скан
Когда план запроса в TiDB или CockroachDB показывает скан, на уровне SQL это уже не объяснить: раскладывает таблицы и строки по парам «ключ-значение» слой ниже, и обычно его не видно.
В шестой части серии про учебную базу SaarDB автор пишет этот слой руками: движок хранения у него умеет только ключи и строковые значения, про таблицы и типы колонок он не знает. По шагам:
• почему CREATE TABLE и INSERT сводятся к одной операции PUT;
• зачем схема таблицы уезжает под служебный ключ с префиксом _schema:;
• как уложить структуру со списком колонок и их типами в значение, которое всегда строка;
• как из строки собрать ключ, по которому её потом найдут.
Свою базу писать не обязательно: понимание, во что превращается таблица в хранилище, объясняет цену предиката не по ключевой колонке.
323 ·