Mysql索引条件为“;字段为空";

Mysql索引条件为“;字段为空";,mysql,indexing,Mysql,Indexing,我有一个带有字段“deleted_at”的表,该字段是日期时间,我希望此类请求能够快速执行: SELECT * FROM table WHERE deleted_at IS NULL 是否可以为字段的“空值”编制索引,而不是为我的字段的每个datetime值编制索引?您可以,但是,只有在空值具有良好的选择性时,才会使用索引,即只有一小部分数据实际为空 不幸的是,与SqlServer类似,它允许您仅为空行编制索引 So TL;DR,如果在处删除的中的空值是例外,而不是规则,则创建索引,但这也将索

我有一个带有字段“deleted_at”的表,该字段是日期时间,我希望此类请求能够快速执行:

SELECT * FROM table WHERE deleted_at IS NULL
是否可以为字段的“空值”编制索引,而不是为我的字段的每个datetime值编制索引?

您可以,但是,只有在空值具有良好的选择性时,才会使用索引,即只有一小部分数据实际为空

不幸的是,与SqlServer类似,它允许您仅为空行编制索引


So TL;DR,如果在处删除的中的空值是例外,而不是规则,则创建索引,但这也将索引非空的日期时间值。

将回答您的问题。可能是。您可以这样做。查看此链接-部分索引: