您的位置:首页 > 移动开发 > Unity3D

快速上手MySql && MySql GUI工具 SQLyog Community (6)

2017-06-15 16:02 411 查看
(本节内容主要是:索引与视图)

/*

索引

1)模式中的一个数据库对象

2)作用:在数据库中用来加速对表的查询

3)通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O

4)与表独立存放,但不能独立存在,必须属于某个表

5)由数据库自动维护,表被删除时,该表上的索引自动被删除

6)索引的作用类似于书的目录,几乎没有一本书没有目录,因此几乎没有一张表没有索引

怎样创建索引?

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

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

*/

#手动创建索引

CREATE INDEX index_tb_student_name

ON tb_student(stu_name);

#使用索引,在where之后加上索引,提供查询效率

SELECT * FROM tb_student WHERE stu_name = ?

/*

数据库查询方式:1)全表扫描、 2)通过索引查询数据  3)共享语句

索引原理: 索引页

索引:在经常查询的字段上面建立索引

1)利用index对查询进行优化,(index可以避免对表的一个全面扫描)

2)原理:当以某个字段建立一个索引的时候,数据库就会上传一个索引页,索引页不单单保存索引的数据,

还保存索引在数据库的具体的物理地址,当我们查询数据时,oracle会先查索引,这样就能很快定位查找到要找的记录。

注意:

1)如果表的列很少,不适合建索引。

2)当执行过多次的insert,delete,update后,会出现索引碎片,

(索引碎片类似于磁盘碎片)影响查询速度,我们应该对索引进行重组。

如何重组?

drop index index_name;

create index index_name on table(column)

*/

/*

视图的好处:

1)可以限制对数据的访问

2)可以使复杂的查询变得简单

3)提供数据的独立性

4)提供了对系统数据的不同显示

创建视图:(简单视图)

create view emp_v_10 as

select id,name,loc,description

from tb_emp

where id= 6;

使用:

select * from emp_v_10;

创建复杂视图

create view emp_v as

select empno as 部门编号,avg(sal) as 平均工资,max(sal) as 最高工资,

min(sal) as 最低工资,sum(sal) as 工资总数,count(1)部门人员

from tb_emp

group by deptno

使用:

select * from emp_v;

修改视图,不建议修改视图,直接删除视图。删除视图的时候,不会删除数据。

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: