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
上的跨越索引如何帮助按日期查找投票,除非你已经认识该用户?索引不能防止重复。