急,在线等!! ● 向ACMAIN_CHM、zuoxingyu求助 ● 以下几种关于日志表的设计那一种更有效率 本帖最后由 default7 于 2010-09-28 17:15:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以使用 insert into ... on duplicate 或者 insert IGNORE into ... 呃,,,, 我需要保证hourlog表中每小时的记录只有一条。这个语句不太清楚怎么写。另外我上面这三个表的设计应该是没有问题的吧(效率,对吗) 没有看明白你的业务逻辑.表hourlog 的hour 为什么不精确到 小时? 为什么要精确到秒?如果精确到小时,则后面的程序使用 insert IGNORE into就行了。如果重复则MYSQL会取消操作。 INT(10)并不是说这是个10位的数字,它仍是INT型数列,也就是4个字节。可以存放 -2147483648 到 2147483647 的整数。 (10)只是说明了一下显示格式,这个显示设置功能基本上没什么用处。所以说用一个INT做主键,本身没有什么问题。效率也没问题。 因为这个hourlog 表里面的hour字段是每个小时里面随即取样的时间。为了不另外加一个logtime(记录时间),所以直接将hour精确到秒了。 从时间效率上来说。宁可添加这么个LOGTIME。 怎样设置 mysql的relay-log 文件 mysql流量 win98安装mysql的问题 MySql整形排序问题 C API函数问题 auto_increment 使用,初学者求助! ERROR 2049 (HY000): Connection using old (pre-4.1.1) 数据库存储用户信息怎么实现 停车场 求教mysql 多表多条件查询 mysql索引问题 mysql 怎么每次读取指定的几行
或者 insert IGNORE into ...
呃,,,, 我需要保证hourlog表中每小时的记录只有一条。
这个语句不太清楚怎么写。另外我上面这三个表的设计应该是没有问题的吧(效率,对吗)
如果精确到小时,则后面的程序使用 insert IGNORE into就行了。如果重复则MYSQL会取消操作。
因为这个hourlog 表里面的hour字段是每个小时里面随即取样的时间。
为了不另外加一个logtime(记录时间),所以直接将hour精确到秒了。