我想为我的文件创建一个下载计数器。以下是我当前的表格字段:
download_counter table
_______________________
ID - int(6) - AutoInc,
Product - varchar(128),
Version - varchar(128),
Date - date,
IP's - LONGTEXT
我想知道我是否应该使用当前的表格,还是应该使用更具动态性和灵活性的表格,如下所示:
ID - int(11) - AutoInc,
Product - varchar(128),
Version - varchar(128),
Date - date,
IP - varchar(45)
答案 0 :(得分:4)
我会为每次点击存储一条记录,但请确保在以后用于运行SELECT
查询的任何和所有列上放置索引。
附注:如果要在MySQL中存储IP地址,则应该查看INET_NTOA
和INET_ATON
函数。它们将点分表示法IP地址转换为32位整数,允许您以4个字节而不是15个字节存储地址。它们也必须是无符号整数。
答案 1 :(得分:3)
我实际上会正确地规范你的桌子:
download_counter {
did,
prodid,
dldstamp,
ip
}
并按照您的产品表进行操作:
product_table {
prodid,
version,
description,
url,
lastmodified,
etc;
}
您只需在下载请求时插入download_counter,并在product_table中引用 prodid 。
足够简单,易于规范化。然后,您将在单独的表中管理您的产品/下载。