空间的作用和用法
2007-05-17 16:59
225 查看
对于一个用户系统默认的会建立。TEMP UNDOTABS USER SYSTEM这几个表空间。那请问这几个表空间各有什么
作用呢?
当学了ORACLE的人都会说。TEMP表空间是放处理的临时数据的,比如排序操作。UNDOTABS表空间是数据恢复时用到。
USER表空间是存班实数据的。
但是大家有谁能真正说明清楚各个表空间,在使用那些SQL语句是,会对那一个表空间消耗磁盘空间呢?
比如我现在知道的只是,当SQL语句中有SORT之来排序的语句时,会对TEMP表空间时的磁盘产生消耗。
USER表空间是存班实数据的,多以,对数据的DML操作会影响此空间。
UNDOTABS表空间是为了保持读一致性的,所以一般在对数据的DML操作会在此空间保存旧的数据。
update table_test set description='explain for tablespace' where name='yjip';
当你发出这条语句给oracle后, oracle会用到这些tablespace:
1. where条件如果引用了index or other条件导致产生排序操作, 这时会用到TEMP tablespace;
2. oracle收到这条语句后,会申请一块undo块来存放原先的数据,以便rollback时用,用的是undo tablespace;
3. oracle收到这条语句后,会申请一块redo块来存放所需更新的数据,以便redo时用,用的是redo tablespace;
4. SYSTEM tablespace是系统保留用的,最好不要用它.
作用呢?
当学了ORACLE的人都会说。TEMP表空间是放处理的临时数据的,比如排序操作。UNDOTABS表空间是数据恢复时用到。
USER表空间是存班实数据的。
但是大家有谁能真正说明清楚各个表空间,在使用那些SQL语句是,会对那一个表空间消耗磁盘空间呢?
比如我现在知道的只是,当SQL语句中有SORT之来排序的语句时,会对TEMP表空间时的磁盘产生消耗。
USER表空间是存班实数据的,多以,对数据的DML操作会影响此空间。
UNDOTABS表空间是为了保持读一致性的,所以一般在对数据的DML操作会在此空间保存旧的数据。
update table_test set description='explain for tablespace' where name='yjip';
当你发出这条语句给oracle后, oracle会用到这些tablespace:
1. where条件如果引用了index or other条件导致产生排序操作, 这时会用到TEMP tablespace;
2. oracle收到这条语句后,会申请一块undo块来存放原先的数据,以便rollback时用,用的是undo tablespace;
3. oracle收到这条语句后,会申请一块redo块来存放所需更新的数据,以便redo时用,用的是redo tablespace;
4. SYSTEM tablespace是系统保留用的,最好不要用它.
相关文章推荐
- Struts 2 学习笔记:Struts 2 的命名空间(namespace)的用法和作用
- memset用法详解 1。void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。 2。例子 #include
- C++ 引用的作用和用法
- js作用域与命名空间
- AFNetwork作用和用法详解
- SuppressWarnings 的作用与用法
- 名称空间与作用域
- 函数的名称空间与作用域
- 关于display用法以及作用
- Modifier的用法及其作用
- js运算符单竖杠“|”与“||”的用法和作用介绍
- 数据库事务操作setAutoCommit(boolean b)用法与作用
- auto_ptr作用和用法
- thinkphp命名空间用法实例详解
- 菜鸟学习MVC实录(一):弄清项目各类库的作用和用法
- HTML中<!DOCTYPE>作用及用法详解
- Java中static关键字的作用和用法详细介绍
- SQL output 作用,用法
- 静态成员的作用以及用法的总结
- 关于C#命名空间的说明与用法