MYSQL索引,有什么用?

时间:2010-12-22 07:21:02

标签: mysql

  

可能重复:
  How to use MySQL index columns?

这个问题说明了一切, 它们适用于什么? 有人可以举个例子吗?

3 个答案:

答案 0 :(得分:5)

以下是索引的优点和缺点

索引是MySQL的一个更有用的功能。 MySQL允许几种类型的索引,如主键索引,唯一索引,普通索引也称为(“非唯一索引”,普通索引,无约束索引)和全文索引。当然,索引提高了SELECT查询速度但是,他们确实也有一些相当大的缺点。 MySQL索引的优点

一般来说,MySQL索引到数据库有三个优点:

* Query optimization: Indexes make search queries much faster.
* Uniqueness: Indexes like primary key index and unique index help to avoid duplicate row data.
* Text searching: Full-text indexes in MySQL version 3.23.23, users have the opportunity to optimize searching against even large amounts of text located in any field indexed as such.

MySQL索引的缺点

当在列上创建索引时,MySQL还会创建一个单独的文件,该文件已排序,并且只包含您有兴趣排序的字段。

首先,索引会占用磁盘空间。通常空间使用率并不重要,但由于在每个可能的组合中的每个列上创建索引,索引文件将比数据文件快得多。如果表的表大小很大,索引文件可能会达到操作系统的最大文件大小。

其次,索引会降低编写查询的速度,例如INSERT,UPDATE和DELETE。因为MySQL必须在内部维护实际数据文件中插入行的“指针”,所以在上述写入查询的情况下需要支付性能价格,因为每次更改记录时,必须更新索引。但是,您可以以不会导致性能明显下降的方式编写查询。

答案 1 :(得分:2)

索引就像电话簿背面的索引一样,它们使您可以更轻松地查找数据,而不是扫描整个表格/书籍。

答案 2 :(得分:2)

这绝对是一个骗局,但想象一下电话簿。我说我想要所有的restaruants。

如果没有索引,您必须阅读本书中的每一页以找到您想要的内容。

索引会告诉您餐馆的页面,从而大大加快您的搜索速度。