关于数据库“事务”“索引”“实例”的含义

在学习数据库的时候经常听见“事务”“索引”“实例”等术语,那么他们具体是什么意思呢?

事务

事务:是指一个完整的操作过程。在这个过程中任何一个环节出现“意外”,那么这个操作过程将会被回滚。事务经常被银行中的数据库使用。

例如:用户A向用户B转账100块,这时需要使用事务。首先,系统会从用户A的账户中扣除100块,然后在用户B的账户中增加100块。如果整过操作都成功,那么最终事务完成,转账成功。如果,某一步出现“意外”,那么事务将会被回滚到最初状态。例如:用户A扣除100块—成功,用户B增加100块—失败,那么事务就会回滚,将用户A扣除的100块退回(实际上:事务在执行中,在未返回结果时,可能不会对数据进行真正的操作)。

索引

数据库其实也就是把数据记录到磁盘上,当查询一个数据时,就需要在硬盘上去扫描,这样数据量增大时数据查询速度会越来越慢。如何提高数据的查询能力,这时就需要使用索引了,索引就类似于一本书的目录,记录了数据存储的位置。索引的所作就是“尽量提高数据库的读取性能”。

注意:虽然索引能够提高数据库的读取性能,但是索引仍然不能滥用,因为在大量数据写入时,除了会写入到硬盘,还需要生成一次索引,那么数据库性能也将大大降低。

实例

实例是由一组后台管理数据库的进程和内存共同组成。数据库和实例是两个独立的概念,数据库是指把数据记录到文件系统或者磁盘中去,然后实例则是管理做(多用户)用户怎么将数据传送到数据、以什么格式记录到数据库(实际是记录到文件系统或者硬盘中)。

实例的使用更多的是在Oracle数据库中使用,在Oracle的RAC中,一个实例只能打开一个数据库,但是一个数据库可以被多个实例同时打开使用。关于Oracle数据库实例可以参考下面的图片。

时间: 2024-10-14 06:23:03

关于数据库“事务”“索引”“实例”的含义的相关文章

数据库事务简介与实例

什么是数据库事务? 数据库事务是指作为单个逻辑工作单元执行的一系列操作.具体表现为:可以将几个sql语句作为一个整体来执行,这些sql语句当有一条执行出错时,那么所有的sql语句都将执行失败.也就是这些sql语句作为一个整体,要么全部执行成功,要么全部执行失败.使用事务能便于恢复数据,保证数据的一致性. 一 事务的属性 事务具有ACID属性 即 Atomic原子性, Consistent一致性, Isolated隔离性, Durable永久性 原子性 就是事务应作为一个工作单元,事务处理完成,所

数据库事务的四个特性及含义

数据库事务transanction正确执行的四个基本要素. ACID 原子性(Atomicity) 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节.事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样. 一致性(Correspondence) 一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏. 隔离性(Isolation) 隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操

网上资料笔记总结!!数据库事务并发问题,锁机制和对应的4种隔离级别

数据库事务并发问题 数据库的操作通常为写和读,就是所说的CRUD:增加(Create).读取(Read).更新(Update)和删除(Delete).事务就是一件完整要做的事情.事务是恢复和并发控制的基本单位.事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少.事务在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序.是数据库中各种数据项的一个程序执行单元.事务是用户定义的一个操作序列(多个表同时读写).这些操作要么都做,要么都不做,是一个不可分割的工作单位

【转】详解:oracle10G 数据库名、实例名、ORACLE_SID

[转载] 数据库名.实例名.数据库域名.全局数据库名.服务名 ,这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名什么是数据库名?数据库名就是一个数据库的标识,就像人的身份证号一样.他用参数DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名.在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中.格式如下:DB_NAME=myorcl...在创建数据库时就应考虑好数据库名

MySQL数据库事务各隔离级别加锁情况--read committed && MVCC(转)

本文转自https://m.imooc.com/article/details?article_id=17290 感谢作者 上篇记录了我对MySQL 事务 隔离级别read uncommitted的理解.这篇记录我对 MySQL 事务隔离级别 read committed & MVCC 的理解. 前言 可以很负责人的跟大家说,MySQL 中的此隔离级别不单单是通过加锁实现的,实际上还有repeatable read 隔离级别,其实这两个隔离级别效果的实现还需要一个辅助,这个辅助就是MVCC-多版

数据库事务的四大特性和事务隔离级别

Reference: [1] http://www.cnblogs.com/fjdingsd/p/5273008.html [2] http://blog.csdn.net/fg2006/article/details/6937413 数据库事务四大特性 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全

数据库-事务和锁

事务 所谓事务是用户定义的一个数据库操作系列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位.例如在关系数据库中,一个事务可以是一条sql语句.一组sql语句或整个程序. 给个栗子: 小IT在网上购物,其付款过程至少包括以下几步数据库操作: 更新客户所购商品的库存信息: 生成订单并且保存到数据库: 更新用户相关信息,例如购物数量等: 正常情况下,操作顺利进行,最终交易成功,那么与交易相关的所有数据库信息也成功更新.但是,如果在这一系列过程中任何一个环节出了差错,例如在更新商品库存

数据库事务【隔离级别】

为了快速同步数据的需要,我分段执行了两次python脚本,即开启了两个进程同步数据,结果服务器不时报出数据库死锁异常,通过排查代码和数据库日志发现,是由长事务并发引起的.代码中有入账和出账两个方法,里面涉及操作较多,都为其加了事务,抛出异常时可自动回滚,采用数据库(mysql)默认的隔离级别(Repeatable read).提到并发,一般就会想到用同步代码块的方法的处理,但是由于项目是分布式的,共用一个主库,单单在代码加锁是不能保证数据的准确的,那就只能在数据库层面去考虑加锁了.由于数据量暂时

[数据库事务与锁]详解三: 深入分析事务的隔离级别

注明: 本文转载自http://www.hollischuang.com/archives/943 本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象.并且介绍了在关系型数据库中不同的隔离级别的实现原理. 在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执行(原子性),从一个状态转变到另外一个状态(一致性).由于事务满足久性.所以一旦事务被提交之后,数据就能够被持久化下来,又因为事务是满足隔离性的,所以,当多个事务同时处理同一个数据的时候,多个事务直接