Mysql 索引和视图

索引

  • 索引的作用:在数据库中用来加速对表的查询,通过使用快速路径访问方法快速定位数据,减少了磁盘I/O;
  • 索引创建后,在用户撤销它们之前不会用到他们的名字,但是索引在用户查询时会自定起作用;
  • 索引的创建可以分自动和手动两种情况:

自动:当在表上定义一个PRIMARY KEY或者UNIQUE约束条件时,数据库自动创建一个对应的唯一索引。

手动:用户可以创建索引以加速查询。

CREATE INDEX i_index on table(cloumn);
-当查询条件是column,自动调用索引。

drop index i_index;
通过drop删除创建的索引。

开发过程中使用索引的要点:

  1. 索引数据可能占用大量的存储空间;
  2. 索引改善查询操作的性能,但是降低数据插入、修改和删除的性能,在执行这些操作时,DBMS(关系型数据库)必须动态的更新索引;
  3. 索引用于数据的过滤和排序。如果你经常以某种特定的顺序排列数据,则该数据可能是索引的备选;

视图

定义:

  • 视图是若干基本表和(或)其他视图够着出来的表;
  • 在创建一个视图时,只存放视图的定义,也即是动态检索数据查询语句,而并不存放视图对应存放的数据;
  • 在用户使用时才会求对应的数据,所有视图被称作“虚表”。

作用:

  • 可以限制对数据的访问,可以给用户授予表的特定权限,而不是整个表的访问权限;
  • 使复杂的查询变得简单,在编写查询后,可以方便的重用它,而不必知道基本查询细节;
  • 提供了对相同数据的不同显示。
create [or replace] view v_view
[(alias[.alias]...)]
as subquery
-[with read only]

CREATE VIEW v_student AS SELECT id,sname FROM t_students;
select * from v_student;
drop view v_student;

猜你喜欢

转载自blog.csdn.net/Mr_Quiet/article/details/81508960