要重做一个系统,以前那个系统因为查询效率非常低下,所以要重做。
查询需求比较蛋疼:查询的字段,和查询条件都是要动态拼接的。因为之前的做法是把所有要显示的字段和查询的条件都写在一个视图里,查询的时候直接拼接where 条件就行了。基础视图查询了太多的字段(很多字段还是用了函数),关联了太多的表,倒是几乎没子查询。
现在他们想把基础视图简化,只查列表显示的常用字段,然后查询时去动态的拼表连接JOIN和WHERE条件,我想了半天也没想出来应该怎么做。主要就是,查询条件来自不同的表,以前可以直接拼field1 = ? And field2 in (?,?...),可是现在fields都在了不同的表,怎么办呢?谁能提供一个好思路,谢了!