我觉的如果全部写成把所有的嵌套视图写在一起,会影响可读性和可维护性。 也许能用过CREATE function 来替换所有的“基本视图”和“高级视图”(既嵌套视图)。但是具体怎么实现呢?能给一个具体的代码吗?比如实现如下功能: 视图1:create view view1 as select * from table1 where 条件(这个条件需要根据用户的条件来改变) 视图2:create view view2 as select * from table2 where 条件(这个条件也需要根据用户的条件来改变) 视图3:create view view3 as select view1.*,view2.* from view1 inner join view2 on view1.ID1=view2.ID2
当一天条件成立后将所需数据导入一张新建的表中
这样你就可以节省很多的时间和精力
我现在做的一个数据库也是这样
每一个月汇总一遍数据将其导入到一个表中以备查询,效果很好
你可以试试
如果一个视图能够被另外一个视图套嵌,那么就意味这这两个视图明明可以写到一个视图里面的(就是写成一句select语句),你何必写2个哪?而且还用alter来改参数,这种方法本身就是个大错误,性能下降是必然的。
也许能用过CREATE function 来替换所有的“基本视图”和“高级视图”(既嵌套视图)。但是具体怎么实现呢?能给一个具体的代码吗?比如实现如下功能:
视图1:create view view1 as select * from table1 where 条件(这个条件需要根据用户的条件来改变)
视图2:create view view2 as select * from table2 where 条件(这个条件也需要根据用户的条件来改变)
视图3:create view view3 as select view1.*,view2.* from view1 inner join view2 on view1.ID1=view2.ID2