我应该以什么方式创建下载计数器数据库? MySQL PHP

时间:2011-01-26 17:25:45

标签: php mysql database

我想为我的文件创建一个下载计数器。以下是我当前的表格字段:

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)

2 个答案:

答案 0 :(得分:4)

我会为每次点击存储一条记录,但请确保在以后用于运行SELECT查询的任何和所有列上放置索引。

附注:如果要在MySQL中存储IP地址,则应该查看INET_NTOAINET_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

足够简单,易于规范化。然后,您将在单独的表中管理您的产品/下载。