Мне интересно, какой способ получения данных является наиболее эффективным (быстрым и менее трудоемким для базы данных). У меня есть 2 таблицы:
пользователи
ID | NAME
1 | John
2 | Mike
3 | Jack
данные
USER_ID | DATA
2 | some_data_1
3 | some_data_2
Мне нужно получить значение по имени пользователя, и, насколько я понимаю, у меня есть два варианта:
select id from users where name ='some_name'
, а затем выберите из data
таблицы по идентификатору.
или
select id from users join data on users.id = data.user_id where user.name = 'some_name'
Также, я думаю, важно отметить: это пример реальных таблиц с тысячами строк и несколькими столбцами, в столбце user_id
есть индекс. 1024 * table, я использую драйвер jdb c, и это сетевой вызов, и это postgreSQL, если это имеет значение.
upd. Также было бы интересно прочитать любые ссылки на исследования или любые виды работ / документов / выступлений