[ОПТИМИЗАЦИЯ] проверка равенства/неравенства нескольких полей из таблицы с переменной

Legushka
Дата: 25.04.2015 10:55:19
друзья помогите оптимизировать маленький кусочек кода
такие проверки уже превышают воображение и сам запрос долго строится
вот один из кусочков большущего запроса. сейчас так:

and (		coalesce(upper(org_fias.a2_formal_name),'') <> const_region 
	and 	coalesce(upper(org_fias.a3_formal_name),'') <> const_region
	and 	coalesce(upper(org_fias.a4_formal_name),'') <> const_region)

либо есть и такие
and (		coalesce(upper(org2_fias.a2_formal_name),'') = const_region 
	or 	coalesce(upper(org2_fias.a3_formal_name),'') = const_region
	or 	coalesce(upper(org2_fias.a4_formal_name),'') = const_region)


хочу сделать так, используя ANY

	and	not const_region = any (upper(org_fias.a2_formal_name),
                                                 upper(org_fias.a3_formal_name),
                                                 upper(org_fias.a4_formal_name))

для равенства
	and	const_region = any (upper(org_fias.a2_formal_name),
                                                 upper(org_fias.a3_formal_name),
                                                 upper(org_fias.a4_formal_name))

или этот способ еще тяжелее?
хочу услышать ваши варианты. может есть вообще безумные способы, о которых я и не слышал-)
Legushka
Дата: 25.04.2015 11:21:55
прочитал что any работает только с подзапросом, и возможно первый вариант выше не будет работать.
Lonepsycho
Дата: 25.04.2015 16:07:48
Legushka, неуверен что это будет оптимизация, но чем вам ненравится IN вместо вашего впихиваемого ANY?