|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
andrey_anonymous, WHEN T1.CAID THEN coalesce(T2.KMFO, T1.BBID) T2.KMFO not null? ELSE не подойдет? .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 15:42 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
StaxELSE не подойдет? Я случайно опубликовал один из размышлизмов. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 15:43 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
Dshedoo, лично я б OR на UNION ALL не менял (пусть ето делает оптимизатор) хотя если схема хорошо известна, то можно и заменить с пониманием что так будет оптимальнее но сопровождать будет явно посложнее ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 15:51 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
StaxDshedoo, лично я б OR на UNION ALL не менял (пусть ето делает оптимизатор) хотя если схема хорошо известна, то можно и заменить с пониманием что так будет оптимальнее но сопровождать будет явно посложнее ..... stax Это только для оптимизации кейсов. Как мне кажется, если этот запрос и можно хорошо оптимизировать, то только через UNION. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 16:04 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
DshedooКак мне кажется, если этот запрос и можно хорошо оптимизировать, то только через UNION. 1. Оптимизация невозможна без конкретной цели и конкретного окружения. 2. Если, к примеру, цель - сокращение dbtime и нагрузки на IO указанного запроса, в table1 триллион записей и предикат "CAID = 111111" низкоселективен, то идея организации двойного прохода по table1 покажется слегка неумной. 3. Ваш вариант union all не эквиваленте исходному запросу. 4. Когда сделаете эквивалентным - рассмотрите случай CAID=DAID=111111 Можно перевести case expression из searched в simple - это несколько сократит издержки и упростит текст почти безотносительно к прочим факторам при условии, что соответствующие атрибуты TABLE2 not null - иначе simple форма становится неудобочитаемой. Остальное - только "по месту". К примеру, на решение повлияет возможность ситуации CAID=DAID=111111, соотношение мощностей DAID=111111 и (CAID=111111 and DAID<>111111), наличие индексов, доступный объем памяти и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 16:21 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
andrey_anonymous3. Ваш вариант union all не эквиваленте исходному запросу. 4. Когда сделаете эквивалентным - рассмотрите случай CAID=DAID=111111 3. Можете, конечно, убрать из первого запроса условие по дате, сути это не изменит. 4. Он рассмотрен. Остальное из разряда "трава зелёная, а небо голубое". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 16:32 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
DshedooЭто только для оптимизации кейсов. Как мне кажется, если этот запрос и можно хорошо оптимизировать, то только через UNION. может ето и имели ввиду хозяева, хз на собеседовании обычно волнуешся, и я б сразу не додул до union all зы я при ручной замене OR на UNION ALL іспользовал LNNVL зии интересно что предложил w31 и пошел ли он тест .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 16:39 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
Dshedoo4. Он рассмотрен. Остальное из разряда "трава зелёная, а небо голубое". 4.1 DAID = null, CAID = 111111 "остальное" - печальная правда жизни. Нельзя оптимизировать сферического коня по неопределенному критерию, любое конкретное предложение будет встречено контраргументом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 16:50 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
andrey_anonymousDshedoo4. Он рассмотрен. Остальное из разряда "трава зелёная, а небо голубое". 4.1 DAID = null, CAID = 111111 "остальное" - печальная правда жизни. Нельзя оптимизировать сферического коня по неопределенному критерию, любое конкретное предложение будет встречено контраргументом. 4.1. Вы правы. Тогда, как Stax написал выше, необходим LNNVL. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 16:58 |
|
Вопрос на интервью
|
|||
---|---|---|---|
#18+
Stax и пошел ли он тест для теста запрос перегружен лишними символами и не имеет осмысленного решения. Неоднозначность хороша только для дискуссии, а дискуссия предполагает листок и собеседника. Вряд ли автор набирал это с листка. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2019, 17:17 |
|
|
start [/forum/topic.php?fid=52&msg=39770310&tid=1882824]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 317ms |
total: | 450ms |
0 / 0 |