Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / архитектурный вопрос / 11 сообщений из 11, страница 1 из 1
13.04.2019, 14:09
    #39800905
serj_osi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
всем привет, только изучаю окарл. помогите советом.
есть таблица клиентов, таблица адресов и таблица телефонов.
у меня есть id клиента. мне нужно выбрать все телефоны этого клиента и все его адреса, что бы потом построчно записать в ексель. телефоны на один лист адреса на другой.
это будет 2 разных рапроса или можно как то сделать одним.
мне нужен самый производительный по скорости вариант.
например у клиента есть 100 адресов и 100 телефонов.
2 запросами - с этим понимание есть. тут все легко.
если одим это получится 100*100 строк и там будут дубли.
подскажите как лучше это сделать
...
Рейтинг: 0 / 0
13.04.2019, 15:31
    #39800918
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
serj_osi как лучше это сделать

Прежде чем писать на форум, пройти минимальное [само]обучение.
Если есть уже наработки, написать тестовые данные в виде with, и тот запрос, который у вас получился.
Студентам, желающим помощи .
...
Рейтинг: 0 / 0
14.04.2019, 13:11
    #39801037
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
serj_osi,
где вы видите узкие места, что вы хотите достать все за один запрос?
автормне нужен самый производительный по скорости вариант.
два запроса с индексами на id клиента
...
Рейтинг: 0 / 0
15.04.2019, 08:08
    #39801222
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
serj_osiтолько изучаю окарлУ окторого Оклара украла оклрнет?
serj_osiмне нужен самый производительный по скорости вариант.А конверт на блюдечке с голубой каёмочкой не надо?
...
Рейтинг: 0 / 0
15.04.2019, 11:50
    #39801379
chidoriami
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
serj_osi,

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

у двух запросов недостаток в том, что таблица клиентов будет вычитана дважды.
ну и пох =)

одним запросом, это, видимо, запрос с дублями (что уже плохо) на один лист, а на двух других - впр'ы к первому листу.
т.е. неочевидно и перемудрено
...
Рейтинг: 0 / 0
15.04.2019, 12:11
    #39801398
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
chidoriamiтаблица клиентов будет вычитана дваждыиз постановки вопроса необходимости обращения к таблице клиентов не следует.
chidoriamiодним запросом, это, видимо, запрос с дублямиЕсли автору по причине "только изучаю" приходит на ум только вариант с кроссджоином, стоило ли дофантазировывать именно этот вариант однозапроса.
...
Рейтинг: 0 / 0
15.04.2019, 12:37
    #39801428
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
-2-,

ТС уже два дня нервно курит
...
Рейтинг: 0 / 0
16.04.2019, 12:25
    #39802021
chidoriami
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
-2-chidoriamiтаблица клиентов будет вычитана дваждыиз постановки вопроса необходимости обращения к таблице клиентов не следует.

действительно, не следует =) но скорее всего, так и есть =)
ибо кому нужны в экселе (читай, в виде, удобном для чтения) чистые айдишники клиентов с адресами/телефонами без клиентской информации?
вероятность, по-моему мала)))
уважаемый serj_osi может прояснить этот вопрос =)


-2-chidoriamiодним запросом, это, видимо, запрос с дублямиЕсли автору по причине "только изучаю" приходит на ум только вариант с кроссджоином, стоило ли дофантазировывать именно этот вариант однозапроса.
не, конечно, есть всегда другие варианты. только эти другие варианты трудноподдерживаемые и не факт, что более оптимальные.
На мой предвзятый взгляд, лучше такими штуками особо не увлекаться на этапе "только изучаю окарл" =)
сначала основы усвоить крепко накрепко, потом начинать креативить)))
иначе легко написать запрос, который будет гораздо более прожорливый на ресурсы, чем два простых.
...
Рейтинг: 0 / 0
16.04.2019, 14:11
    #39802131
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
chidoriamiне, конечно, есть всегда другие варианты. только эти другие варианты трудноподдерживаемые и не факт

а что сложного в поддержке с тч оракля(селекта)?

select 'a' t,id_adr,addr h from clnt_address where client_ref=:1
UNION ALL
select 'a' t,id_tel,tel h from clnt_telephons where client_ref=:1

.....
stax
...
Рейтинг: 0 / 0
16.04.2019, 14:18
    #39802146
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
Какие-то бессмысленые ответы на такой же вопрос
...
Рейтинг: 0 / 0
17.04.2019, 12:05
    #39802671
chidoriami
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
архитектурный вопрос
Staxchidoriamiне, конечно, есть всегда другие варианты. только эти другие варианты трудноподдерживаемые и не факт

а что сложного в поддержке с тч оракля(селекта)?

select 'a' t,id_adr,addr h from clnt_address where client_ref=:1
UNION ALL
select 'a' t,id_tel,tel h from clnt_telephons where client_ref=:1

.....
stax

ахахаха, я конечно не такой запрос имела в виду))))))
тем более, что данный вариант - это все таки два запроса, объединенные в один и никакой разницы с двумя запросами на разных листах нет
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / архитектурный вопрос / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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