问题描述
- 数据库中表的多余字段处理
-
在设计数据库资料目录管理的一张表时,其中有两个字段 一个HavezlFlag(标记此目录下是否含有资料) 另一个HaveSubDirFlag(标记此目录下是否含有目录类似文件夹),这
两个字段因为用户常添加和删除,所以不必存储,只要需要时再临时计算,这个用视图可以解决嘛,怎么解决,求详细方法。
解决方案
合理设计的表格不会有经常添加删除的字段,尤其是数据库里面数据多的时候这是严禁的操作,有些数据库一增删字段就锁整表,其它涉及这个表的操作就会进入等待状态。
如果按你说的是临时计算,那么可以考虑用计算列。或者在用户查数据的时候在应用端计算这样能减少数据库负担。
解决方案二:
如果想在数据库一级计算得到这两个字段的话,可以用视图,也可以直接用SQL,可以把子查询结果作为一个字段返回。
解决方案三:
CREATE OR REPLACE FORCE VIEW (
HavezlFlag,
HaveSubDirFlag
)
AS
SELECT HavezlFlag,HaveSubDirFlag from table where 1=1 and option1=?;
建个视图,按条件查询就可以了
解决方案四:
写动态sql语句对这2个字段进行判断
时间: 2024-11-17 12:45:54