powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Какой запрос предпочтительней?
17 сообщений из 17, страница 1 из 1
Какой запрос предпочтительней?
    #37139131
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две таблицы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE A ( 
      ID Integer NOT NULL, 
      SA Integer, 
      CONSTRAINT PK_A PRIMARY KEY (ID) 
) 
CREATE TABLE B ( 
      ID Integer NOT NULL, 
      SB Integer, 
      CONSTRAINT PK_B PRIMARY KEY (ID) 
) 
какой запрос предпочтительней?
1.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select ID, sum(SA) as SA, sum(SB) as SB 
from 
(select ID,SA, 0  as SB 
from A 
union all 
select ID, 0 ,SB 
from B) 
group by ID  

2.
Код: plaintext
1.
2.
3.
select COALESCE(A.ID,B.ID) as ID, COALESCE(A.SA, 0 ) as SA, COALESCE(B.SB, 0 ) as SB 
from A 
full join B 
on (A.ID=B.ID)

С уважением, Naf
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139224
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 28.02.2011 11:27, Naf wrote:

> какой запрос предпочтительней?
> 1.
>
> select ID,sum(SA)as SA,sum(SB)as SB
> from
> (select ID,SA,*0* as SB
> from A
> union all
> select ID,*0*,SB
> from B)
> group by ID
>
>
> 2.
>
> select COALESCE(A.ID,B.ID)as ID,COALESCE(A.SA,*0*)as SA,COALESCE(B.SB,*0*)as SB
> from A
> full join B
> on (A.ID=B.ID)


Как бы семантика запросов разная (они разные данные выдают). Вам решать, какая
вам нужна.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139314
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКак бы семантика запросов разная (они разные данные выдают). Вам решать, какая
вам нужна.

выдают они стабильно одинаковые данные при такой структуре таблиц
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139334
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafMasterZivКак бы семантика запросов разная (они разные данные выдают). Вам решать, какая
вам нужна.

выдают они стабильно одинаковые данные при такой структуре таблицтаких данных в таблицахВам решать, какой запрос вам нужен.
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139357
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirNafпропущено...

выдают они стабильно одинаковые данные при такой структуре таблицтаких данных в таблицахВам решать, какой запрос вам нужен.не могут они давать разные результаты! даже теоретически
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139358
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafMasterZivКак бы семантика запросов разная (они разные данные выдают). Вам решать, какая
вам нужна.

выдают они стабильно одинаковые данные при такой структуре таблиц

Два разных запроса при каких-то условиях могут выдавать одинаковые данные.
Но это не значит, что эти два запроса идентичны.
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139366
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivNafпропущено...

выдают они стабильно одинаковые данные при такой структуре таблиц

Два разных запроса при каких-то условиях могут выдавать одинаковые данные.
Но это не значит, что эти два запроса идентичны.вот при данных структурах таблиц они будут давать одинаковые результаты (порядок строк здесь не в счет)
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139433
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nafвот при данных структурах таблиц они будут давать одинаковые результаты (порядок строк здесь не в счет)Вообще-то да (я просмотрел примариключ в структуре). Но тогда это сферический вопрос в вакууме. Пока не будет указана хотя бы СУБД.
А чисто фсерический ответ - второй вариант, т.к. в первом практически наверняка нужно делать временную таблицу, да ещё и наполнять её "левыми" данными (нулями).
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139493
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, хотелось бы знать что за БД.
Поддерживаю мнение, что запросы разные. Не то, что по разному записаны, а что разный смысл имеют.
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139513
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeДа, хотелось бы знать что за БД.
Поддерживаю мнение, что запросы разные. Не то, что по разному записаны, а что разный смысл имеют.Разные. Но именно на этой структуре они будут выдавать один и тот же результат. Или нет?
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139524
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос чисто сферически вакуумный, просто размышления пришли после запроса из 1С к MS SQL Server
кстати, на MS SQL Server разница оказалась не колоссальной (а может данные такие)
на Firebird с другими данными разница была просто колоссальной
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139543
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запросы выдают одинаковые значения при уникальности ID в рамках таблиц.

Какой быстрее - трудно сказать, лучше смотреть план и пробовать на больших таблицах.

Хотя, полагаю, full join будет побыстрее
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139608
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечХотя, полагаю, full join будет побыстрее
Практика показала обратное
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139821
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 28.02.2011 13:50, tanglir wrote:

> Разные. Но именно на этой структуре они будут выдавать один и тот же результат.
> Или нет?

А какая разница, будут они выдавать разное, или одно и то же, на ЭТИХ КОНКРЕТНЫХ
данных ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139870
guy_zol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Naftanglirпропущено...
не могут они давать разные результаты! даже теоретически

Очень даже могут. представьте себе что и в первой таблице всего одна запись
id=1 Sa=2
и во второй тоже
id=1 sb=3
тогда первый запрос вернет две строки, а второй - одну.
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37139996
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guy_zolОчень даже могут. представьте себе что и в первой таблице всего одна запись
id=1 Sa=2
и во второй тоже
id=1 sb=3
тогда первый запрос вернет две строки, а второй - одну.
оба вернут одну, читайте внимательно запросы
...
Рейтинг: 0 / 0
Какой запрос предпочтительней?
    #37140010
guy_zol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Naf,

виноват, группировку зевнул.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Какой запрос предпочтительней?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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