我正在根据以 exel 格式提供给我的数据创建一个非常简单的数据库表,我将使用 4 列:
日期/时间 IP地址 主机名 已识别漏洞
我通常每天得到一张 exel 表,任何内容都在 1000 到 3000 行之间。日期/时间字段由 YYYYMMDDHHMM 组成,可以重复多次,但每个相同的日期/时间列都应该有一个唯一的 IP 地址,例如2012-08-26:16:01、80.3.3.255、2012-08-26:16:01、192.168.0.1。回顾了一些类似的问题,是为每条记录生成一个唯一的主键更有效,还是加入日期/时间和 IP 列来创建主键?
最佳答案
这至少取决于两个角度:
- 关于稍后用于选择的
WHERE
标准:如果您打算通过时间戳和 IP 独立选择,我建议您为这些创建非唯一键和一个简单的(可能是AUTO_INCREMENT
) 每行的主要内容。 - 如果确实出现重复的时间戳/IP,您希望如何处理它:唯一键或主键可以排除这种情况,而单独的键可以愉快地共存。这取决于您的应用要求,您更喜欢哪一个。
关于多列上的MySQL主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12993522/