索引(index)和管理索引
模式中的一个数据库对象
作用:在数据库中用来加速对表的查询
创建:自动在主键和唯一键上面创建索引
通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O
与表独立存放,但不能独立存在,必须属于某个表
由数据库自动维护,表被删除时,该表上的索引自动被删除
索引的作用类似于书上的目录,几乎没有一本书没有目录,因此几乎没有一张表没有索引
索引:在经常查询的字段上面建立索引,利用index对查询进行优化,(index可以避免对表的一个全面扫描)
原理:当以某个字段建立一个索引的时候,数据库就会生成一个索引页,索引页不单单保存索引的数据,还保存了索引在数据库的具体的物理地址
注意:如果表的列很少,不适合建立索引。当执行过很多次的insert、delete、update后,会出现索引碎片。影响查询速度,我们应该对索引进行重组
重组方法:drop index index_name;
create index index_name on table(column)
# 手动创建索引 CREATE INDEX index_tb_dept_name ON tb_dept(NAME); # 使用索引,在where之后加上索引,提高查询效率 SELECT * FROM tb_dept WHERE NAME='Tom'
视图与管理视图
视图的好处:可以限制对数据的访问、可以是复杂的查询变得简单、提供了数据的独立性、提供了对相同数据的不同显式
# 创建视图 CREATE VIEW emo_v_10 AS SELECT NAME AS '名字',sex '性别',age '年龄' FROM tb_emp WHERE dept_id=2; # 使用视图 SELECT * FROM emo_v_10