我尝试在 SQL 中记录所有内容,所以想添加一个名为的表log
并在其中添加所有内容,该log
表是:
ID
唯一标识符——PKLogDate
日期时间PKIP
NVARCHARAction
NVARCHARInfo
XMLUniqueID
大整数
我记录每件事:登录,检查权限,查看页面,访问对象和..到这个表
然后我想还需要Some Log-Restore Implementations,所以有些日志记录是可恢复的,有些不是,Log
表有大约800万条记录,但可恢复的记录大约有20万条,所以每次我们需要恢复时,都需要选择 8 百万,然后我决定添加新表并将可恢复的日志添加到这个新表log_restore
::
ID
唯一标识符LogDate
约会时间IP
NVARCHARAction
NVARCHARInfo
XMLUniqueID
BIGINT--PK
好的,当我需要记录一切都很好。
但是当我需要查看日志时:该过程从log
表中获取所有记录并将它们与log_restore
表合并(联合)。
所以我需要加速这个过程而不影响插入(意味着不要减慢),这是我的想法:
添加记录时也
log_restore
将其添加到log
表中(因此在选择中不需要联合)使用此选择命令创建视图
添加简单数据类型列而不是 XML
在简单的 DataType 列上添加 Clustered PK Like
BIGINT
你有什么想法?有什么建议吗?