IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle 层次查询、事务、VARCHAR2/CHAR -> 正文阅读

[大数据]Oracle 层次查询、事务、VARCHAR2/CHAR

  1. 层次查询
SELECT employee_id, last_name, manager_id,salary
    FROM employees WHERE salary>10000
    START WITH employee_id='F00001'
    CONNECT BY PRIOR employee_id = manager_id;

先找到employee_id为F00001这条记录,接着找下一条记录,查找下一条记录条件为manager_id为F00001,然后根据第二条记录的employer_id的值做为manager_id找第三条记录,以此类推递归查询,最后找出salary大于10000的记录

  1. Oracle 事务
    两种基本模式的锁:排它锁,共享锁。当数据对象被加上排它锁时,其他的事物不能对他进行读取和修改,当加上共享锁时候,其它事物不能对他进行修改,但是可以进行读取。
    Oracle中主要锁为DML锁,DML锁包括TM锁表级锁,TX锁行级锁。当Oracle执行DML语句时,系统自动在所需要的表上申请TM模式的锁。当获得TM锁后,在自动申请TX模式的锁,并将实际锁定的数据行的锁标志为进行置位。这样在事务加锁前检查TX锁相容性时就不用在逐行进行检查锁标志,而只检查TM锁的相容性即可。
    TM锁是在表添加的锁,当一个事务执行insert,update,merge,delete语句,或使用select for update 语句进行查询,或执行lock table 语句时,事务获得操作表的TM锁。
    Oracle数据库中TM锁分为行级共享锁、行级排它锁、共享锁、共享行级排它锁和排他锁5中模式。
    LOCK TABLE 表名 IN SHARE MODE;
    LOCK TABLE 表名 IN EXCLUSIVE MODE NOWAIT;
    LOCK TABLE 表名 IN ROW SHARE MODE;
    LOCK TABLE 表名 IN ROW EXCLUSIVE MODE;
    LOCK TABLE 表名 IN SHARE ROW EXCLUSIVE MODE;
    当执行COMMIT 或 ROLLBACK 语句时,使用LOCK TABLE语句对表加的锁将自动解除。

  2. CHAR和VARCHAR2
    CHAR的长度时固定,VARCHAR2长度时可以变化的。VARCHAR2是按实际长度存储。
    因为CHAR长度固定,省去了判断实际长度在去寻址的操作,效率比VARCHAR2的效率稍高。
    如果一个一个字段经常被修改,而且每次被修改的数据长度不同,会引起行迁移现象,造成多余I/O,这是数据库设计中尽量避免的,在这种情况下CHAR代替VARCHAR2会好。
    CHAR使用场景:数据长度基本一致,且长度不易过长。数据更新频繁查询较少,可防止行迁移发生的概率,同时尽可能少见索引。DDL操作非常少,CHAR类型增加长度的开销是很大的。
    VARCHAR2使用场景:该字段数据长度不规则,差异大。数据更新较少,查询操作频繁,适量建立索引。DDL操作少,VARCHAR2类型增加长度也会加大行迁移发生概率。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:59:49  更:2022-07-04 23:02:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:48:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码