为什么添加了索引,会加快查询速度呢?(加快了查询速度,自然降低插入和修改数据的速度,这是以空间换时间,因为创建索引是占用空间) 单列索引:基于单个列所建立的索引。 Create index 索引名 on 表名(列名);
复合索引:基于两列或多列的索引(不是为两个字段分别创建索引,而是为两个列的组合创建索引,就是查询两个列的组合时速度提高速度)。一张表可以有多个索引,但必须要求列的组合唯一。
Create index emp_index on emp(ename,job);
使用索引的原则:
1 必须是大数据的表创建索引才有意义。
2 在where子句或连接条件上经常引用的列上建立索引。 3 索引的层次不要超过4层。
索引缺点:
1 建立索引,系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引。
2 更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。
韩顺平主讲