Comments 11
Ждём статью как Вы сделали запрос из 2х таблиц по 10млн. строк в каждой без указания связей и условий.
В MS SQL NULL=NULL - истина?
Насколько я помню, в SAS при джойне PROC SQL сначала создает декартово произведение таблиц, а уже потом применяет условия. Чтобы избежать лишние операции, можно использовать опции датасетов (where=(^missing(key2)), эта штука отбросит не проходящие условие записи еще на этапе чтения из датасета.
Очень жаль, что ни одного запроса на sql в статье не присутствует.
NULL в SQL любит удивлять, что поделать.
declare @a int
declare @b int
set @a = 1
set @b = NULL
if @a != @b select 'а не равно b'
else select 'а равно b'
А нельзя было просто выбрать вначале в промежуточные таблицы без NULL? Это же из разряда "не ленись расставлять скобки, не верь компьютеру". Использовать DISTINCT тоже такое, говорят, что быстрее и правильнее применять GROUP BY. Я, впрочем, по лености не гнушаюсь DISTINCT-а, но не в пром.коде.
Нано-статья о том, как я в SAS NULL-ключи джойнил