在学习数据库的时候经常听见“事务”“索引”“实例”等术语,那么他们具体是什么意思呢?
事务
事务:是指一个完整的操作过程。在这个过程中任何一个环节出现“意外”,那么这个操作过程将会被回滚。事务经常被银行中的数据库使用。
例如:用户A向用户B转账100块,这时需要使用事务。首先,系统会从用户A的账户中扣除100块,然后在用户B的账户中增加100块。如果整过操作都成功,那么最终事务完成,转账成功。如果,某一步出现“意外”,那么事务将会被回滚到最初状态。例如:用户A扣除100块—成功,用户B增加100块—失败,那么事务就会回滚,将用户A扣除的100块退回(实际上:事务在执行中,在未返回结果时,可能不会对数据进行真正的操作)。
索引
数据库其实也就是把数据记录到磁盘上,当查询一个数据时,就需要在硬盘上去扫描,这样数据量增大时数据查询速度会越来越慢。如何提高数据的查询能力,这时就需要使用索引了,索引就类似于一本书的目录,记录了数据存储的位置。索引的所作就是“尽量提高数据库的读取性能”。
注意:虽然索引能够提高数据库的读取性能,但是索引仍然不能滥用,因为在大量数据写入时,除了会写入到硬盘,还需要生成一次索引,那么数据库性能也将大大降低。
实例
实例是由一组后台管理数据库的进程和内存共同组成。数据库和实例是两个独立的概念,数据库是指把数据记录到文件系统或者磁盘中去,然后实例则是管理做(多用户)用户怎么将数据传送到数据、以什么格式记录到数据库(实际是记录到文件系统或者硬盘中)。
实例的使用更多的是在Oracle数据库中使用,在Oracle的RAC中,一个实例只能打开一个数据库,但是一个数据库可以被多个实例同时打开使用。关于Oracle数据库实例可以参考下面的图片。
本文出自 “行路难” 博客,请务必保留此出处http://xln1229.blog.51cto.com/12460242/1887914
原文地址:http://xln1229.blog.51cto.com/12460242/1887914