ВЫБРАТЬ ОДИНОЧНЫЙ и ВЫБРАТЬ ДО 1 СТРОКИ
Я хочу понять, почему мы используем select до одной строки, когда мы выбираем single, а какая быстрее, что произошло на уровне базы данных, когда мы пишем эти запросы, и есть ли разница, когда мы используем базу данных HANA.
1 ответ
Нет большой разницы, SELECT SINGLE немного быстрее; и это больше о передаче данных на / на стороне ABAP, а затем базы данных.
Из документации SAP ABAP по адресу https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapselect_single.htm
Набор результатов операторов SELECT с добавлением SINGLE совпадает с набором из сложения UP TO 1 ROWS без использования ORDER BY.
- Если используется дополнение SINGLE, нет необходимости использовать операторы ENDSELECT, ENDWITH или для импорта строки во внутреннюю таблицу. Однако не все дополнения оператора SELECT могут использоваться.
- Если используется добавление до 1 строки, должен быть указан оператор ENDSELECT или ENDWITH или строка должна быть импортирована во внутреннюю таблицу. Однако можно указать дополнение ORDER BY.
Оператор SELECT с добавлением SINGLE может быть оптимизирован для чтения одной строки, что означает, как правило, несколько быстрее, чем при использовании сложения UP TO 1 ROWS. На практике, однако, эту разницу обычно можно игнорировать. В свете этого рекомендуется следующее:
Использование дополнения SINGLE для точного чтения строки, указанной полностью.
Использование дополнения до 1 строки, чтобы прочитать максимум одну строку из набора выбранных строк.