数据库的一点知识

来源:互联网 发布:淘宝创始人 编辑:程序博客网 时间:2024/06/07 09:17

什么是存储过程?有哪些优缺点?

1、存储过程是一些预编译的SQL语句,直白的理解就是:是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(单表和多表的基本操作),然后再给这个代码块取个名字。

2、优点
   存储过程是一个预编译的代码块,执行效率比较高
   一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率
  可以一定程度上确保数据安全

索引是什么?有什么作用以及优缺点?

mysql 为例

1、索引是对数据库表中一或多个列的值进行排序的结构,是帮助MySQL高效获取数据的数据结构,直白的理解就是:加快检索表中数据的方法。数据库的索引类似于一篇文章的索引或目录。
2、分类:普通索引,唯一索引,主键索引,全文索引
   主键索引是一种特殊的唯一索引
3、优点:索引加快数据库的检索速度,唯一索引可以确保每一行数据的唯一性,使用索引,可以在查询的过程中使用优化隐藏器,提高系统的综合性能等
4、缺点:索引降低了插入、删除、修改等维护任务的速度,索引需要占物理和数据空间

什么是事务?事务特性?事务对数据库的作用?

1、事务(Transaction)是并发控制的基本单位。直白理解,它就是一个操作序列。这些操作要么全做要么全不做,是一个不可分割的工作单位。
2、数据库特性
   1、原子性:在事务中,当前操作要么都做,要么都不做
   2、隔离性:一个事务中的操作,不能被另外一个事务所干扰,就是一个事务中的处理,对于其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
   3、持续性(永久性):指一个事务一旦提交,它对数据的改变就应该是永久性的。以后的操作或者故障都不能对它的执行结果有任何影响。
   4、一致性:事务执行的结果必须是使数据库从一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果事务运行中发生故障,导致事务中断,那么未完成的事务中已经在数据库中写入了一部分,那么这样数据库就是一种不正确状态,就不是一致性了。
3、作用:
   举个例子:如果你要同时修改两个表,如果两个表不在同一个事务中,第一个表正常修改完了,那么第二表在修改中遇到异常或者错误,那么该表则恢复修改之间的情况,那么第一个则不会了,而加入同一个事务,那么第一个表即使成功,也要恢复到修改之前的情况。

drop、delete与truncate的区别?应用场景?

1、delete和truncate只删除表的数据不删除表的结构
2、从速度上,一般来说: drop> truncate >delete
3、delete是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.     
  truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
4、 不再需要一张表的时候,用drop,
  想删除部分数据行时候,用delete,并且带上where子句
  保留表而删除所有数据的时候,用truncate

0 0
原创粉丝点击