我有几千个 col1,col2 不同的值。Col1 -> 一些主键和 Col 2 -> 日期。
对于第三个 col 3,我必须查询一个大表,在大多数情况下只给我几百个结果。
现在我担心的是如何编写我的 where 条件或使用联合,以便我查询我的数据库的次数减少。由于这个原因,我的程序很慢。
目前我正在使用 DBI 在我的 perl 程序中做类似下面的事情。
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'