求一个高效的解决方案

flai 2004-04-26 05:54:25
个人档案库(PersonDoc)

PersonCode 个人电脑号
UnitCode 单位电脑号
Name 姓名
IDCode 身份证号
Sex 性别
................
................

通过Trigger产生 个人档案操作日志库(PersonLog)

PersonCode 个人电脑号
UnitCode 单位电脑号
Name 姓名
IDCode 身份证号
Sex 性别
................
................
..(包含所有PersonDoc的所有字段)...
OPUser 操作员代码
OPUserName操作员姓名
OPTime 操作时间
OPEven 操作事件('I','D','U': 分别代表 Insert,Delete,Update)


现在我需要写一个程序,实现这样的查询:

指定单位在指定的一个时间和当前时间这两个时间点上的所有人员变动情况。


大家有何高招吗?(PersonDoc库记录在800万条左右,PersonLog记录在4000万条左右)

...全文
27 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
伍子V5 2004-05-02
  • 打赏
  • 举报
回复
UP
gechangwei 2004-04-29
  • 打赏
  • 举报
回复
这是一个比较常见的工单表的查询问题。
我想可以采取以下措施:
1、按时间分区:每天一个分区或每月一个分区,这样查询的范围一下子减少很多。

2、PersonLog分历史表和当前表(保存最近一断时间操作记录)。在历史表上按时间
分区并在UnitCode字段上建本地bitmap索引,在当前表上用普通索引。在程序中分别查询两张表或建一张视图。
3、

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧