mysql - 如果我在每一行中总是有不同的值,那么索引 mysql 列是否有好处?

标签 mysql database-design indexing

问题是针对像 timestamp 这样的行,其中每一行总是存储不同的值。

我已经在 stackoverflow 中搜索并阅读了有关索引的内容,但如果没有一个值等于另一个值,我不明白利润。因此,索引基数将等于行数。利润是多少?

最佳答案

这种列实际上是一个很好的索引候选者,最好是唯一的。

表是未排序的数据集,因此在不了解表的情况下,数据库将不得不按顺序遍历整个表以找到您要查找的行(O(n) 复杂度,其中 n 是数字行数)。

索引本质上是一棵以排序方式存储值的树,它允许数据库智能地找到您要查找的行 (O(log n))。此外,使索引唯一可以告诉数据库每个时间戳值只能有一行,因此一旦检索到一行,数据库就可以停止搜索更多行。

假设您根据时间戳搜索行,这种索引的性能优势应该是显着的。

关于mysql - 如果我在每一行中总是有不同的值,那么索引 mysql 列是否有好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431664/

相关文章:

sql - Rails ActiveRecord 和数据库规范化

matlab - 使用向量作为矩阵的索引

mysql - 删除所有行,除了

mysql - 在MySQL中的查询中选择存储过程值

php - 良好的评级/声誉系统?

Mysql 索引与 LIKE 和排序

python - 如何在Python中从原始数据和列中查找索引?

php - 在以下情况下如何使用 mod_rewrite 获取简短的唯一 URL?

sql - 数据库结构问题

mysql - 如何在 MySQL 中进行行版本控制,同时保持外键引用完整性