Size: a a a

2020 June 03

R

R-omk in Tarantool
Eugene Leonovich
чет я не припомню sql баз данных, которые бы разворачивали список в IN(...)
потому что их нет
источник

EL

Eugene Leonovich in Tarantool
только вручную, только хардкор
источник

EL

Eugene Leonovich in Tarantool
R-omk
потому что их нет
и я о том
источник

AM

Aleksey Maslov in Tarantool
ну ок, спасибо!
источник

v

vpol in Tarantool
источник

v

vpol in Tarantool
PostgreSQL vs Tarantool
источник

N

Nobody in Tarantool
Aleksey Maslov
В in 1 параметр нужен
А что запрещает использовать TYPE = ?
источник

AM

Aleksey Maslov in Tarantool
Nobody
А что запрещает использовать TYPE = ?
дак у type может быть несколько значений, поэтому либо in, либо через or запрос составлять
источник

GS

Guram Savinov in Tarantool
правильно понял что по перформансу разницы никакой не будет:
1. достаем уникальный тупл селектом или гетом
2. достаем только одно поле вместо всего тупла

box.space.tester:get{1}['x']
box.space.tester:select{1}[1]['x']
источник

P

Pavel in Tarantool
Судя по тому, что в бинарном протоколе вообще нет get запроса, предположу, что get является более частным случаем select
источник

MA

Mons Anderson in Tarantool
Guram Savinov
правильно понял что по перформансу разницы никакой не будет:
1. достаем уникальный тупл селектом или гетом
2. достаем только одно поле вместо всего тупла

box.space.tester:get{1}['x']
box.space.tester:select{1}[1]['x']
если в селект вместо 1 по какой либо случайности попадёт nil, можете попрощаться с этой базой (OOMK со стороны Lua)
Пользуйтесь :get, для него чётко определено, что ему нужно дать целиком key, он гарантированно возвращает 0 или 1 запись
источник

MA

Mons Anderson in Tarantool
Pavel
Судя по тому, что в бинарном протоколе вообще нет get запроса, предположу, что get является более частным случаем select
Некорректное утверждение. Протокол является небольшим подмножеством возможных операций над спейсом и индексами
источник

MA

Mons Anderson in Tarantool
Guram Savinov
правильно понял что по перформансу разницы никакой не будет:
1. достаем уникальный тупл селектом или гетом
2. достаем только одно поле вместо всего тупла

box.space.tester:get{1}['x']
box.space.tester:select{1}[1]['x']
И да: любая выборка (что get, что select) в любом случае вернёт тапл целиком, даже если вам нужно из него только одно поле. Выборка "одного поля" осуществляется как отдельная операция

Обращение по номеру поля немного быстрее, чем обращение по имени.
Обращение к первым полям в тапле быстрее, чем обращение к дальним
источник

P

Pavel in Tarantool
Mons Anderson
если в селект вместо 1 по какой либо случайности попадёт nil, можете попрощаться с этой базой (OOMK со стороны Lua)
Пользуйтесь :get, для него чётко определено, что ему нужно дать целиком key, он гарантированно возвращает 0 или 1 запись
мы же про space:select(nil)?
источник

MA

Mons Anderson in Tarantool
Да
источник

P

Pavel in Tarantool
а что такого, я так иногда делаю, правда с итератором и лимитом обычно
источник

MA

Mons Anderson in Tarantool
Вот именно, что с лимитом
источник

MA

Mons Anderson in Tarantool
Есть 2 типа людей: кто не использует select и кто ещё не успел уложить прод select nil’ом
источник

AR

Aleksandr Razumov in Tarantool
А из клиента можно как-то итерироваться по результатам селекта, или только сразу всё отдаётся?
источник

AR

Aleksandr Razumov in Tarantool
Aka "cursor" в других бд
источник