Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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 时间戳索引_Mysql_Indexing_Innodb - Fatal编程技术网

Mysql 时间戳索引

Mysql 时间戳索引,mysql,indexing,innodb,Mysql,Indexing,Innodb,如果我有一个包含以下列的表:item\u id、user\u id、vote、date我应该将索引放在哪些列上: 我需要按日期获取时间范围和时间范围的投票 用户对每个项目的投票次数不能超过一次 如果我想获取最近的日期,索引应该按ASC或DESC排序吗?主要:项目id,用户id 索引:日期 将DESC排序为最新的第一个 注意:我假设您将日期存储为UNIX时间戳(从问题标题时间戳索引中)您可以尝试以下操作: CREATE INDEX mytime_index ON myTable (user_id,

如果我有一个包含以下列的表:
item\u id、user\u id、vote、date
我应该将索引放在哪些列上:

  • 我需要按日期获取时间范围和时间范围的投票

  • 用户对每个项目的投票次数不能超过一次


  • 如果我想获取最近的日期,索引应该按ASC或DESC排序吗?

    主要:项目id,用户id

    索引:日期

    将DESC排序为最新的第一个


    注意:我假设您将日期存储为UNIX时间戳(从问题标题时间戳索引中)

    您可以尝试以下操作:

    CREATE INDEX mytime_index ON myTable (user_id, date);
    
    您不能在索引级别设置
    asc
    desc
    ,因为默认情况下它位于
    asc

    看看这个-------------- 引自


    索引列名称规范可以以ASC或DESC结尾。这些关键字允许在以后的扩展中指定升序或降序索引值存储。目前,它们被解析但被忽略;索引值总是按升序存储的

    ,这并不能实现任何目标。@杰克,你能澄清一下你的意思吗?:)我很确定,你建议的索引不会阻止用户对某个项目进行多次投票,
    user\u id,date
    上的跨越索引如何帮助按日期查找投票,除非你已经认识该用户?索引不能防止重复。