繁体   English   中英

mysql如何处理不存在的索引值?

[英]How does mysql treat nonexistent index values?

我在Mysql DB中有一个巨大的表。 一栏是例如会话ID。 该字段已建立索引。

如果我在此表中搜索不存在的会话ID,mysql会如何反应? 索引对您有帮助吗?

当然,索引会有所帮助。 没有索引,MySQL将不得不搜索整个表以找出没有与查询匹配的行。 使用索引,它将仅搜索索引(BTREE),这要快得多。

即使目标是找出表中是否存在该列的值,也可以为该列建立索引,从而绝对提高查询性能。 正如文档所 指出的那样 ,这是因为索引是指向行的指针。 索引数据在物理上与表数据分开存在。 后者是一个更大,更复杂的数据集,查阅索引数据的成本更高。

当查询SELECT id FROM table where id = 'abc123'执行全表扫描将没有索引上进行id ,即使它产生没有结果,但数据的表将如果不是在所有咨询id被索引因为只扫描索引数据,这足以返回空结果。

暂无
暂无

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

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