1、索引可以加速数据检索操作,但减慢数据修改操作。 每次更改数据记录时,都必须更新索引。 为了在一个程序中弥补这个缺点,许多SQL命令都有DELAY_KEY_WRITE条目。 此选项的目的是在命令插入新记录并修改现有记录时,临时停止MySQL临时更新索引。 索引更新是在所有记录插入/修改完成后进行的。 当需要在数据表中插入许多新记录时,DELAY_KEY_WRITE选项非常有用。 此外,索引在硬盘上占用了相当大的空间。 因此,必须只对查询最多和排序最多的数据列进行索引。 请注意,如果数据列包含大量重复的内容,则编制索引不会产生什么效果。
2、MySQL索引特点:提高查询速度,索引不包含空值列
3、索引包括普通索引、唯一索引、主键索引、组合索引。 没有外键索引的说法。
4、取值重复率比较高的列,适合建立位图索引,位图索引适合基数较低的情况。
5、在mysql索引说明中,InnoDB存储引擎不支持全文索引。
6、在MySQL数据库中索引的一般规则: 1、表主键、外键需要索引;2、经常与其他表连接的表在连接字段中索引;3、索引在小字段中索引
7、索引可以加快数据库的检索速度,降低数据表数据维护任务的性能。
唯一索引:与“常规索引”类似,但索引列的值必须是唯一的,但允许空值。
主键索引:一种特殊的唯一索引,不能为空。
全文索引:仅适用于MyISAM表。 对于大型数据,生成全文索引需要时间和空间。
组合索引:根据“最左前缀”原则创建组合索引,以进一步提高mysql的效率。
8、索引使用create index关键字。 好处是查询使指定的列更高效。
9、MySQL索引包括普通索引、全文索引(全文本)、唯一索引、单列索引、多列索引、组合索引等。
10、不是所有索引都是必须的。 WHERE和ORDER BY子句中的常用字段需要添加索引。 将索引添加到字段内容频繁更改的列反而会降低性能。
11、mysql删除索引语句: drop index索引name
12、位图索引是Oracle的索引分类,在mysql中不存在。
有两种类型的索引:聚合索引和非聚合索引。
处理数据时,添加/删除操作在处理数据之前先删除索引
查询语句一次只能使用一个索引。
在索引查询中,不会重新插入空值
13、索引分为单列索引和组合索引。 单列索引,即一个索引只能包含一列,一个表可以包含多个单列索引,但这不是联接索引。
14、可以添加、删除索引,但无修改操作。
引用索引的优点如下。
确保数据库表中每行的数据的唯一性。
可以加快数据搜索速度也是创建索引的最主要原因。
可以加快表和表之间的连接,特别是在实现数据的参照完整性方面。
使用分组和排序子句进行数据搜索也可以大大减少在查询中分组和排序所需的时间。
索引允许您在查询过程中使用优化的隐藏器来提高系统性能。
1 )没有5个以上的表连接(JOIN )
2 )考虑使用临时表或表变量存储中间结果。
3 )不使用子查询
4 )视图嵌套不要太深,一般视图嵌套不要超过两个。
以上是MySql索引优化的原则。
15、索引可以提高查询效率,避免对所有表进行数据扫描。
1 .索引大大提高了查询速度,但会降低INSERT、UPDATE、DELETE等表的更新速度。 因为更新表时,MySQL不仅存储数据,还存储索引文件。
2 .对于索引文件占用磁盘空间,此问题并不严重,但在大表中创建多个组合索引会加快索引文件的膨胀。
(注)以上资料有误,敬请指正。 )