У меня есть несколько тысяч значений col1, col2.
Col1 -> некоторый первичный ключ и Col 2 -> дата.
Для третьего столбца 3 мне нужно запросить большую таблицу, которая в большинстве случаев дает мне лишь несколько сотен результатов.
Теперь меня интересует, как можно написать свое условие where или использовать союзы, чтобы уменьшить количество запросов к моей базе данных. моя программа работает медленно из-за этого.
В настоящее время я делаю что-то вроде ниже в моей программе на Perl, используя DBI.
select COL3 from Table where (COL1='v1' and COL2='Sep 25 2007 12:00AM' ) or (COL1='b3' and COL2='Sep 28 2007 12:00AM')
or (COL1='c1' and COL2='Sep 11 2007 12:00AM') and COL3='ABCD'
union
select COL3 from Table where (COL1='v2' and COL2='Sep 28 2007 12:00AM') or (COL1='b2' and COL2='Oct 1 2007 12:00AM')
or (COL1='c2' and COL2='Sep 28 2007 12:00AM') and COL3='ABCD'
union
select COL3 from Table where (COL1='v3' and COL2='Oct 1 2007 12:00AM') or (COL1='b1' and COL2='Sep 28 2007 12:00AM')
or (COL1='c3' and COL2='Sep 24 2007 12:00AM') and COL3='ABCD'