数据库索引如何使用
的有关信息介绍如下:用来加快查询的技术有很多,最重要的就是索引。使用索引,您可以快速高效的对您的数据进行查询等操作。
如果不使用索引,mysql会从第一条数据开始,读完整个表,直到找到相关的数据,表越大,花费的时间越多。
索引用来改善性能,但是有时索引也可能降低性能。
索引的统计和运用是数据库自动完成的。也就是说,我们不需要手动去完成这些工作,对于索引的统计与运用数据库自己就可以完成。
使用索引的位置where deptno=1使用的时候mysql自动调取索引,而不需要我们手动调用。
-order by即distinc或是like等,都不会使用索引。也就是说,索引对于他们是无效的。
create index 索引名 on 表名(字段);
create index idx_emp_ename on EMP(ename); select *from EMP where ename='SMITH';
只要数据库认为可以使用某个已经创建的索引,索引就会自动运用。
我们只需要根据实际的业务逻辑,决定要不要给某张表的某一个字段创建索引。
mysql innodb B+TREE 通过3次磁盘IO操作就可以快速的找到索引并使用。如果您对于mysql innodb B+TREE不太了解的话,您可以先对其进行一个了解,或是知道它的存在,在以后您拥有一定知识储备后,再去研究底层的实现方式。
索引除了有简单索引外,还有较为复杂的复合索。 create index idx_emp_job_sal on EMP(job,sal); select *from emp order by job,sal;
使用索引的时候,需要注意顺序需要与创建时候一样,才能够使用索引,否则索引无效,如下一步创建的索引,以下方式失效。sal,job不行 sal不行 必须与索引数及其顺序一致