黄小水的sql进阶之路之数据库中基础问题汇总1.0

1.有关视图

1.视图是一种虚拟的表,和物理表有相同的功能,由于视图的查询获取取数据更容易一些,所以一般用于做查询用,但是增删改也同样支持.
2.注意:在视图中做的修改不影响基本表
3.概念引申:游标,游标可以看做是一个用来处理结果的数据集(比较占内存),游标可以将这个数据集来作为一个单元进行处理,一般情况来说除了需要逐条处理数据的时候其他情况用不上游标.

2.有关索引

1.索引的用处:用来提高系统的性能.

索引的优点

a.加速数据的检索速度
b.在查询的过程中使用优化隐藏器,提高系统性能
c.保证了表之间的联系,确保数据的完整性
d.使用分组排序,子句进行数据索引时,可以减少查询中分组和排序的时间
e.创建唯一索引(主键)可以保证表中每一行数据的唯一性.

索引的缺点

a.在对表中的数据进行增删改的时候索引也需要被维护,总体的维护速度会减慢
b.索引需要占用物理空间,除了表需要占数据空间外,每个索引都需要占物理空间,聚簇索引的空间更大(聚簇索引的性能最好且默认是主键,一个表只有唯一一个)
c.创建和维护索引都需要时间.

3.有关varchar和char的区别

最根本的区别就是char是规定了长度的字段,设多少就是多少,而varchar是可变字段.
char的长度是无论你实际存储了多少内容该字段都占你设的长度,而varchar是实际字符长度+1,从检索效率上来说char是优于varchar的.

4.有关存储过程

存储过程是一个预编译额sql语句,只需要创建一次就会在程序中执行多次,而多次执行的情况下,使用存储过程比单纯的执行sql语句要快
在调用的过程中可以通过一个命令对象来调用存储过程,而且它可以被外部程序来调用(java)

5.有关delete、drop、truncate

最根本的区别就是delete是DML语言,drop和truncate属于DDL语言,这两种语言的区别就是DML语言需要事务管理(commit也就是保存之后才生效),DDL语言的操作是立即生效的,不可回滚.
truncate和delete只删除数据,不删除表结构,其中delete删除可以恢复,drop删除表结构且释放所有空间.

6.有关触发器

触发器是什么:它是对某一表的一定的操作,触发某种条件,从而执行的一段程序.它是一种特殊的存储过程,通过事件触发来被执行,常见的触发器有三种:insert,update,delete

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值