mysql的视图与索引

mysql中视图是一张便于查询的虚拟表,不占用内存空间。只是保存了计算需要的sql语句。

创建视图: 

Create  view 视图名 as select name,brand from 表格名 where brand in (‘b001’,’b002’);

使用视图

当做正常的表格使用就可以。

修改视图

 Create or replace view new_car AS SELECT NAME,brand FROM 表格名 WHERE brand IN ('b002','b003')

查看视图

show tables

查看视图详细信息

desc 视图名

视图删改时,如果由单表查询得到的视图的话,该表格也会被修改。如果有多表查询得到的视图的话,表格都不会被删改。

若表格发生删改时,视图也会被删改。

mysql的索引

mysql的索引的建立对mysql的高效运作很重要,有索引的存在大大提高了mysql的检索速度。缺点,索引过多的话,会提高mysql的维护难度,减低维护效率。

索引的结构主要有两种:B+tree和hash索引。

btree索引,例如查询1,2,3,4,5,6,7,8,9这些数据。

 

hash哈希索引能精确匹配到索引列的值,是按照不同的数据,存储引擎都会给一个相应的哈希码,不同键值的行计算出的哈希码也不相同。

索引的分类

普通索引、主键索引、唯一索引、全文索引

 

普通索引:仅仅是加快查询速度

唯一索引:不仅加快查询速度,该列的值不能重复

主键索引:主键不能重复且不能为空      主键必唯一,但是唯一索引不一定是主键,一张表上只能有一个主键,但是可以有一个或多个唯一索引

全文索引:fulltext  用于在一篇文章中,检索文本信息的。主要用来优化like语句的,因为like语句会一行一行的查找匹配值,查询效率慢

查看索引:show index from 表名

 

添加索引

 

添加主键索引: ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 

 

添加唯一索引:ALTER TABLE `table_name` ADD UNIQUE (`column`)

 

添加普通索引:ALTER TABLE `table_name` ADD INDEX ( `column` ) 

 

添加全文索引:ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 

 

 

 

删除索引

 

 

 

删除非主键索引:ALTER TABLE `table_name` drop INDEX ( `column` ) 

 

删除主键:ALTER TABLE `table_name` drop PRIMARY KEY

 

 

 

索引的用法

 

主键、唯一、普通索引的使用,是直接where索引列=’值’

 

全文索引的使用 where MATCH(列名) AGAINST(‘搜索值1,搜索值2,搜索值3’);

 

posted @ 2018-08-31 15:47  时间绝境  阅读(373)  评论(0编辑  收藏  举报