mysql 日志表设计_【原创】日志表设计一例分析

关于关系表的设计归根结底有两个方面。

第一,就是完全按照范式理论去设计,一般来说达到第三范式就可以了,或者你可以划分的更细到达更上一层次。比如第四,第五,第六等等。这种设计有自己的可读性很强,但是有一点,在检索数据的时候增加了多张关系表来做关联的开销。

第二,就是在范式理论上适当的做些反范式,有的东西还是不要太剥离的好。(窄表以及宽表) 这点和软件设计中的紧耦合松耦合理论一致。

下面我就以常用的LOG表来做下演示,其中有两种表的实际,一种是窄表,一种是稍微宽一点的表。

窄表:log_ytt

mysql> show create table log_ytt;

+-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table       | Create Table                                                                                                                                                             |

+-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| log_ytt | CREATE TABLE `log_ytt` (

`ids` bigint(20) DEFAULT NULL,

`log_time` datetime DEFAULT NULL,

KEY `idx_u1` (`ids`,`log_time`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

+-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

表记录数

mysql>  select * from log_ytt where ids > '4875000001';                                                                                    +------------+---------------------+

| ids        | log_time            |

+------------+---------------------+

| 7110000001 | 2014-05-20 21:56:42 |

| 6300000001 | 2014-05-20 21:56:42 |

| 6750000001 | 2014-05-20 21:56:42 |

| 5310

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值