好的,mysql索引。索引仅仅是为WHERE子句中使用的每一行都有一个唯一的ID吗?
当索引表时,进程是否会向表中添加任何信息?例如,某处的另一列或值。
在检索值时是否会动态发生索引,或者是否像插入或更新函数一样将值放入表中?
任何更多信息,以清楚地解释mysql索引将不胜感激。请不要只是链接到mysql文档,这是令人困惑的,最好是从专业人士那里得到个人回复。
最后,为什么索引不同于告诉mysql查找两个值之间的值。例如:WHERE create_time> ='AweekAgo'
我问,因为我的一个表是220,000多行,用一个非常简单的mysql select语句返回值需要花费一分多钟时间,我希望索引会加快这个速度。
先谢谢了。
答案 0 :(得分:2)
你被投了票,因为你没有努力阅读或搜索你要求的东西。 A simple search in google可以向您展示Database Index的优点和缺点。这是a related question on StackOverflow。我相信有很多这样的问题。
为了简化术语,如果您根据专业领域编排编号,可以更容易地在图书馆中找到书籍。您可以轻松地告诉某人去特定的位置并选择书籍 - 这就是索引的作用
另一个例子:想象按字母顺序排列的入场名单。如果你的名字以Z开头,你只需跳过A到Y并快速到达Z--否则,您将不得不搜索和搜索,如果您没有仔细查看,甚至可能找不到它
答案 1 :(得分:1)
数据库索引是一种提高表中操作速度的数据结构。可以使用一列或多列创建索引,为快速随机查找和记录访问的有效排序提供基础。
您可以这样创建索引:
CREATE INDEX index_name
ON table_name ( column1, column2,...);
您可能正在处理更复杂的数据库,因此记住一些简单的规则是件好事。
索引会降低插入和更新的速度,因此您希望在经常更新的列上小心使用它们。
索引加快了子句和排序的位置。
有关详细信息,请参阅:
答案 2 :(得分:0)
有很多索引,例如散列,特里,空间索引。这取决于价值。最有可能的是它是一个哈希和一个二叉搜索树。没有什么真正的花哨,因为很可能花哨的东西很贵。