0

好的,mysql索引。索引仅仅是为将在 WHERE 子句中使用的每一行都有一个唯一的 ID 吗?

索引表时,该过程是否会向表中添加任何信息?例如,某处的另一列或值。

检索值时是否会即时进行索引,或者是否像插入或更新函数一样将值放入表中?

任何更多信息来清楚地解释 mysql 索引将不胜感激。并且请不要只放置指向 mysql 文档的链接,这会造成混淆,最好从专业人士那里获得个人回复。

最后,为什么索引不同于告诉 mysql 在两个值之间查找值。例如:WHERE create_time >= 'AweekAgo'

我问是因为我的一个表是 220,000+ 行,并且使用非常简单的 mysql select 语句返回值需要一分钟多的时间,我希望索引能够加快这一速度。

提前致谢。

4

3 回答 3

2

您被否决是因为您没有努力阅读或搜索您所要求的内容。在 google 中进行一个简单的搜索就可以向您展示Database Index的优点和缺点。这是StackOverflow 上的一个相关问题。我相信有很多这样的问题。

为了简化行话,如果您根据专业领域排列书架,则在图书馆中查找书籍会更容易。你可以很容易地告诉某人去一个特定的位置并挑选这本书——这就是索引的作用

另一个例子:想象一个按字母顺序排列的录取名单。如果您的名字以 Z 开头,您将跳过 A 到 Y 并到达 Z - 更快?否则,你将不得不搜索和搜索,如果你不仔细看甚至可能找不到它

于 2012-06-21T17:56:22.647 回答
1

数据库索引是一种提高表中操作速度的数据结构。可以使用一列或多列创建索引,为快速随机查找和对记录访问的有效排序提供基础。

您可以像这样创建索引:

CREATE INDEX index_name
ON table_name ( column1, column2,...);

您可能正在处理更复杂的数据库,因此最好记住一些简单的规则。

  • 索引会减慢插入和更新速度,因此您希望在频繁更新的列上谨慎使用它们。

  • 索引加速 where 子句和 order by。

有关更多详细信息,您可以阅读:

http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

http://www.tutorialspoint.com/mysql/mysql-indexes.htm

于 2012-06-21T17:53:56.690 回答
0

有很多索引,例如哈希、trie、空间索引。这取决于价值。很可能它是哈希和二叉搜索树。没有什么真正花哨的东西,因为花哨的东西很可能很昂贵。

于 2012-06-21T17:57:23.300 回答