смысл использования rownum = 1 в следующей конструкции?
and exists (select null from TABLE_NAME t where [условия] and rownum = 1)
Понятно что в документации и в стандарте SQL прописано следующее «The EXISTS operator returns true if the subquery returns any rows, otherwise, it returns false. In addition, the EXISTS operator terminates the processing of the subquery once the subquery returns the first row.»
И логично предположить что смысла в этой конструкции нет, но на практике есть нектоторые кейсы, при которых добавление этой конструкции по ощущениям и замерам ускоряет запросы.
Хочется разобраться в специфике СУБД, чтобы для себя сделать выводы имеет это смысл или нет и в каких случаях стоит этим пользоваться.
под рукой к сожалению нет, у нас тут просто в очередной раз зашел разговор в команде. Если будет кейс в ближайшее время с этим - скину сюда планы.
ну это когда у нас данные связаны, понятно что там можно еще с join и с in покрутить. Но у нас часто из-за специфике есть кейс когда просто нужно проверить несвязанные с основной выборкой данные, использую только sql синтаксис.
Обсуждают сегодня