169 похожих чатов

Всем привет! Помогите с пожалуйста с нубским вопросом. В такой конструкции

ключ нормально используется или нет?

DATA lt_tab TYPE SORTED TABLE OF sometype WITH NON-UNIQUE KEY field1 field2

LOOP AT lt_tab ASSIGNING FIELD-SYMBOL(<ls_tab>) USING KEY primary_key
WHERE field1 = var1
AND field2(2) = var2(2)

21 ответов

25 просмотров

Если синт анализатор пропустил, то да

Anton- Автор вопроса
Денис
Если синт анализатор пропустил, то да

Это ты про компилятор при активации? Он так правильно называется? Но как быть уверенным что ключи используется?

Anton
Это ты про компилятор при активации? Он так правил...

Да, про него Используются. Можешь написать тест, в котором будешь читать здоровую таблу без указания ключа. Разницу будет видно

Anton- Автор вопроса
Денис
Да, про него Используются. Можешь написать тест, в...

Что то судя по SAT оптимизированный WHERE не работает.... Если я выпиливаю первое поле в случае SORTED и PRIMARY_KEY компилятору пофиг Если я выпиливаю первое поле в случае STANDART и SECONDARY KEY компилятор ругается. Мне кажется в моем случае с PRIMARY_KEY он так же просто перестал использовать оптимизированный поиск

Anton
screenshot Что то судя по SAT оптимизированный WHERE не работ...

Нет. Ты не понял. Первый пример для теста твой. Второй тоже твой, но убери из таблы ключ. Поля поиска оставь те же

Anton- Автор вопроса
Денис
Нет. Ты не понял. Первый пример для теста твой. Вт...

без ключа оставить? Тогда же фул скан будет... Я хочу что бы вот это работало... https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abenitab_where_optimization.htm Есть убрать USING KEY ** то конечно работает. Но я хочу что бы он быстро работал, а не перебором...

Anton
без ключа оставить? Тогда же фул скан будет... Я х...

В where надо указать все 4 ключевых поле, а не один при using key. По другому не будет работать.

Anton- Автор вопроса
Ilya Mikheev
В where надо указать все 4 ключевых поле, а не оди...

Это не так. Достаточно писать левые. Нельзя использовать вторичный ключ в лупе, если он не оптимизированный. Компилятор ругнется. При первых двух не ругается.

Anton
Это не так. Достаточно писать левые. Нельзя исполь...

В сортировочной можно хоть одно поле использовать. При стандартной, нужно все 4 поля использовать.

Ilya Mikheev
В сортировочной можно хоть одно поле использовать...

А зачем в лупе по сортировочной таблице using key? Он и так по ключам пойдет. Или очень хочется по первичному пойти? Мне кажется это какое то извращение. Надо использовать по назначение все что дается.

Anton- Автор вопроса
Ilya Mikheev
А зачем в лупе по сортировочной таблице using key?...

Primary_key лишний, я согласен. Мне нужен оптимизированный where.

Ilya Mikheev
В where надо указать все 4 ключевых поле, а не оди...

Будет. Про это есть в хелпе. Поля с начала ключа и все работает. И на части полей это тоже распространяется

Anton- Автор вопроса
Ilya Mikheev
В сортировочной можно хоть одно поле использовать...

Нет, я проверил. Если я во втором случае мандант раскоиентирую компилятор не ругается

Anton
без ключа оставить? Тогда же фул скан будет... Я х...

Так тебе ж пример надо, что бы скорость сравнить.

Денис
Будет. Про это есть в хелпе. Поля с начала ключа и...

Тут не уникальные сортировочный вторичный ключ. В хелпе вроде сортировочный используется STANDARD TABLE OF line                WITH UNIQUE SORTED KEY key Но это надо проверять в живую в тестовой программе. Удачи в играх на ночь!

Ilya Mikheev
Тут не уникальные сортировочный вторичный ключ. В...

Уник не Уник роли не играет. Коллега @vlad_kyu недавно так же чекал)

Денис
Уник не Уник роли не играет. Коллега @vlad_kyu нед...

Синтанализатор это пропускает, а вот работает ли реально - не проверял

Anton- Автор вопроса

В общем я проверил optimizable where не работает с field2(2). При этом компилятор пропускает такое выражение даже со STANDART WITH SORTED KEY. А по факту идет фулскан. При этом я почти уверен, что месяц назад field2(2) работал нормально, может есть параметр какой на AS? :)

Anton- Автор вопроса
Денис
Код в студию

Тестовый код не писал, сорян. Результат на боевой программе смотрел через SAT.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта