mysql之视图、索引


数据库中的视图是一个虚拟表,其内容由查询定义,可以像表一样去处理视图,但是这个表不存储数据,他的结构和数据都是由视图中select语句来决定的

语法:

create view  视图名   AS   查询语句


通过show tables 或 desc table_name 语法可以查看到当前的视图,与表是一样的处理方法


查看视图的定义:show create table 表名  show create view 视图名
查看视图: show create view 视图名
修改视图: alter view 视图名 as select语句
删除视图: drop view 视图名


作用:
1. 简单性,看到的就是需要的,对不需要的列可以隐藏
2. 安全性  防止未授权用户查看特定的行和列
3. 独立性  视图可以使应用程序和数据表在一定程度上独立


数据库优化:
1. 创建表时,选择合适的列类型
2. 数据库要符合3范式
3. 通过explain检测,优化具体的sql语句
4. 适当建立索引
mysql支持4大类索引:
1.主键索引:
如果一个字段被定义为主键(primary key),则自动在该字段上建立主键索引
2.唯一索引:
一个值只能有出现一次(一个字段在整个数据表内是唯一的,可以建立唯一索引),一旦找到数据,就不会往下继续查找
3.普通索引:默认就是普通索引
4.全文索引:如果在某个字段上建立全文索引,将记录内部的关键字提取出来,
   然后对关键字建立索引,与存储引擎相关,建立全文索引的话,必须是myisam
show index from table_name;   查看某个表上的索引
1. 创建索引
  create [UNIQUE|FULLTEXT]  index index_name on tbl_name (col_name [(length)] [ASC | DESC] , …..);
  alter table table_name ADD INDEX [index_name] (index_col_name,...)
默认是普通索引,指定主键后,自动创建主键索引
create [指定索引类型] index 索引名 on 表名 (列名,在哪个字段上建立索引)


索引的坏处:
dml语句会变慢(update、delete、insert),因为你创建数据后,
还要维护索引,给新增加的数据创建索引,而且索引文件会占用磁盘空间


索引的建立条件:
1、较频繁的作为查询条件的字段应该创建索引
2、唯一性太差的字段不适合建立索引(即使频繁作为查询条件)
3、更新非常频繁的字段不适合建立索引(登录状态)
4、不会出现在where 字句中的字段不该创建索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值