繁体   English   中英

空时间戳上的mysql表索引

[英]mysql table indexing on null timestamp

我有一个带有时间戳字段的mysql表。
该表上的大多数查询将where someIntegerIield=? and theTimestampField is null where someIntegerIield=? and theTimestampField is null

我应该使用时间戳字段作为索引的一部分吗?
还是我应该创建和维护另一个在timestamp字段为null时设置为0的文件,否则为1?

也欢迎其他选择。

是的,您可以将索引用于“ timestamp1和timestamp2之间的时间”。 MySQL / InnoDB中的默认索引类型是BTREE,它也可以与比较(<,>,之间)以及前缀一起使用。 是的,MySQL确实在索引条件下使用IS NULL / IS NOT NULL。 http://dev.mysql.com/doc/refman/5.5/en//is-null-optimization.html用于某些表类型(包括InnoDB)。

如果您使用的是MySQL的早期版本,则可以随时尝试“ EXPLAIN”:它将告诉您它是否使用索引(以及对查询使用哪个索引)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM