有关审核表设计上面的,求方案【在线等】

业务是“资料审核”,审核会出现多次不通过的情况;
现在有两张表,一张company_info(公司信息),一张check_company_log(审核日志),如果审核不通过的情况下,要给用户看到不通过的原因;

目前的设计是check_company_log表里面有“原因”字段,company_info表里冗余一个“原因”(用于展示,当然这里面存的是最后一次不通过的原因)

每次不通过的时候,要做两个操作,先把company_info里的原因更新,然后给check_company_log里面存一条,看有没有更好的办法,从表的设计上把两步简化

求高手优化

在company_info表中冗余一个”原因”的目的是什么,是为了方便查询,还是快速查询。。。待审核的公司数量有多大,审核通过后是在log表中记录一条审核记录就行了,还是需要修改info表中的某个字段?

通常审核多次流水追溯的问题,不建议把失败原因放到info表冗余。info表只需要记录一个审核状态就行了,多数情况直接记录log;审核完成后记录log的同时修改info状态字段

在company_info表中冗余一个”原因”的目的是什么,是为了方便查询,还是快速查询。。。待审核的公司数量有多大,审核通过后是在log表中记录一条审核记录就行了,还是需要修改info表中的某个字段?

通常审核多次流水追溯的问题,不建议把失败原因放到info表冗余。info表只需要记录一个审核状态就行了,多数情况直接记录log;审核完成后记录log的同时修改info状态字段

其实整个流程类似在360手机助手上提交app,如果他们后台审核没有通过,我会看到失败的原因,当我再提交之后,如果还是没有通过,仍然可以看到失败原因,现在就是这个“失败的原因”看怎么设计
1.出于性能考虑,避免关联查询,所以在company_info中冗余了"原因",用户在审核的结果页面展示失败原因时候,我直接查company_info,就可以了,带来的问题就是,如果再次提交资料,审核仍未通过,这时候得先修改company_info的“原因”,然后再给log表里面插入一条;
2.目前整个的数据量都不是很大;
3.审核通过后做两件事:修改company_info的状态为1(通过),同时在log表插入一条记录;

关键要看你怎么优化,如果不是出于性能的考虑,可以对log表按照用户做索引,然后直接取最新的一条作为原因,这样就不需要那个字段了。