powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Много inner join или ... best practices?
10 сообщений из 10, страница 1 из 1
Много inner join или ... best practices?
    #38882748
double-precision
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В предыдущем посте я писал, что мне досталась унаследованная БД. В этой БД есть таблица с чуть более 100 полей, из них 60 полей содержат не данные, а id-записей в других таблицах. Мне нужно выбрать одну из записей и отобразить на клиенте полностью.

Записей в этой таблице немного более 10000, все база немного менее гига. пользователей - до 10 одновременных внутренних + веб (думаю, что тоже до 10).

Соответственно, есть два варианта:
1 - много inner join
2 - много запросов к справочникам по id в одной транзакции

Склоняюсь ко второму варианту. Или первый вполне норм? Может есть еще какие-то варианты? Приложение - это веб + REST-сервис.
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38882756
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
double-precision,

Склоняюсь к варианту с JOIN`ами. Можно еще обернуть в хранимую процедуру, которая соберет запись.
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38882763
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
double-precision> есть таблица с чуть более 100 полей, из них 60 полей
double-precision> содержат не данные, а id-записей в других таблицах

Такое редко бывает. В таких случаях может быть выгодно
затащить эти справочники (или если это один большой)
на клиента 1 раз, а дальше локально по нему бегать.
Если это "веб", то тем более.

double-precision> отобразить на клиенте полностью.

60 полей? В где? В гриде что ли или в Мемо, текстом?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38882773
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
практика - критерий истины.
щупать надо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38882789
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
double-precision,

1. Варианты 1 и 2 не эквивалентны. 2ой это скорее LEFT JOIN
2. Второй вариант задолбает базу запросами.
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38882825
double-precision
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустамdouble-precision> отобразить на клиенте полностью.

60 полей? В где? В гриде что ли или в Мемо, текстом?

это будет формочка с кучей text field или combobox, никакого грида - там очень много полей и каждая запись займет весь экран
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38882872
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис2. Второй вариант задолбает базу запросами.
Первый загрузит оптимизатор. Учитывая, что это уеб-сервис в котором обычно препарированные
запросы никто использовать не умеет - при каждом запросе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38883095
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

второй без препарированных запросов тем более умрёт. Особенно если дёргать не 1 запись главной таблицы.
А чтобы оптимизатору не было мучительно больно можно засунуть запрос со многими JOIN в ХП. Хотя тут зависит вылетит ли она из кеша метаданных
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38883182
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, там база менее гига. как ни старайся - работать будет быстро. явно быстрее, чем усеры будут справляться в мегаформой на 60+ контролов
...
Рейтинг: 0 / 0
Много inner join или ... best practices?
    #38883188
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Fd00ch!
You wrote on 18 февраля 2015 г. 17:26:46:

Fd00ch> там база менее гига. как ни старайся - работать будет быстро.
наивный чукоцкий оленевод.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Много inner join или ... best practices?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]