Большое спасибо, киберсам. Я сравнил мой вариант и ваш: Это мой: PROFILE MATCH (n: DTTOVAR) - [cnorr: LIKE_CONSIGNOR] -> (грузоотправитель: COMPANY), (n) - [prodr: LIKE_PRODUCER] -> (производитель: COMPANY), (n) - [cneer: LIKE_CONSIGNEE] -> (грузополучатель: COMPANY), (n) - [coder: CLASSIFIED_IN] -> (код: CUSTOMS_CODE) (грузоотправитель) в [7065] else true end И регистр NULL равен NULL, когда FALSE затем id (продюсер) в NULL иначе истинный конец AND case [5928, 28769, 7067] IS NULL, когда FALSE затем id (consignee) в [5928, 28769 , 7067] иначе true конец И регистр null равен NULL, когда FALSE затем id (код) в null, иначе true end ВОЗВРАТ n, cnorr, грузоотправитель, prodr, производитель, клиент, грузополучатель, кодер, код
72490 всего дБ число совпадений за 79 мс.
И ваше: ПРОФИЛЬНОЕ ФАКУЛЬТАТИВНОЕ МАТЧ (n: DTTOVAR) - [cnorr: LIKE_CONSIGNOR] -> (грузоотправитель: COMPANY), ГДЕ [7065] НЕ НУЛЬ И ИД (грузоотправитель) в IN [7065] ] ДОПОЛНИТЕЛЬНОЕ МАТЧ (n) - [prodr: LIKE_PRODUCER] -> (производитель: КОМПАНИЯ), ГДЕ НУЛЬ НЕ НЕДЕЙСТВИТЕЛЕН И ИД (производитель) В НУЛЕ ОПТИО NAL MATCH (n) - [cneer: LIKE_CONSIGNEE] -> (грузополучатель: COMPANY), ГДЕ [5928, 28769, 7067] НЕ НЕДЕЙСТВИТЕЛЕН И id (грузополучатель) В [5928, 28769, 7067] ДОПОЛНИТЕЛЬНЫЙ МАТЧ (n) - [кодер : CLASSIFIED_IN] -> (code: CUSTOMS_CODE) WHERE NULL НЕ NULL И ID (code) IN NULL RETURN n, cnorr, грузоотправитель, prodr, производитель, клиент, получатель, кодер, код
716 всего дБ за 42 мс
Но количество узлов (n: DTTOVAR) различно (в вашем варианте 152 узла против 105 в моем.
Я пытаюсь это понять ....