ВЫБРАТЬ ОДИНОЧНЫЙ и ВЫБРАТЬ ДО 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 строки, чтобы прочитать максимум одну строку из набора выбранных строк.

Другие вопросы по тегам