Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 最佳数据库结构/查询,每个ip地址每个图像每个月一票_Mysql_Sql_Database Design_Database Schema - Fatal编程技术网

Mysql 最佳数据库结构/查询,每个ip地址每个图像每个月一票

Mysql 最佳数据库结构/查询,每个ip地址每个图像每个月一票,mysql,sql,database-design,database-schema,Mysql,Sql,Database Design,Database Schema,我正在寻找建立一个网站,未注册的用户可以从1-10级多个图像,但每个图像每个IP每月只有一次 我考虑的数据库结构如下: 照片 身份证 网址 上载日期 avgRating 投票 投票 idPic 投票 IP地址 日期 然后使用查询获取数据,如 SELECT * from Pictures WHERE id NOT IN ( SELECT idPic from Votes WHERE ipAddress='$ip' AND date BETWE

我正在寻找建立一个网站,未注册的用户可以从1-10级多个图像,但每个图像每个IP每月只有一次

我考虑的数据库结构如下:

照片

  • 身份证
  • 网址
  • 上载日期
  • avgRating
投票

  • 投票
  • idPic
  • 投票
  • IP地址
  • 日期
然后使用查询获取数据,如

SELECT * from Pictures 
WHERE id NOT IN (
    SELECT idPic 
    from Votes 
    WHERE ipAddress='$ip' 
        AND date BETWEEN $firstdayofthemonth AND $lastdayofthemonth 
  ) 
SORT BY avgRating
(不要担心语法错误,我已经有一段时间没有使用SQL了,我会自己解决的)

无论如何,我认为这不是最佳的方式,而且这个查询可能会很慢,我每次都会用它来显示每个单独的图片(非常频繁地使用)


有没有更好的方法来解决我的问题?

改变排序顺序…只要你有一个索引,第一个字段是IP,第二个字段是日期,子选择应该足够快。是的,我决定我只使用我的原始想法,因为我运行了一些测试,查询执行时间实际上是可以接受的。谢谢你的评论。