OCP学习:DDL和模式对象003

2024-05-11 07:08
文章标签 学习 模式 对象 ddl 003 ocp

本文主要是介绍OCP学习:DDL和模式对象003,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

索引

索引有两个功能:
1 强制实施主键约束和唯一约束。
2 提高性能

索引是约束机制的一部分。索引对性能而言至关重要,可以大大提高查询效率。
索引可以实现排序,无须使用Order BY等字段。
索引在联接表的时候可以提高性能。

索引类型:

1.B*树索引

B表示平衡(Balance),是一个树形结构。树的根节点指向第二级别的多个节点,第二级别的节点又指向第三级别的多个节点,以此类推。树的必须深度主要取决于表的行数,以及索引键值的长度。
B*树结构十分有效,如果深度大小于三级或四级,则说明索引键十分长,或表包含数十亿行。如果情况并非如此,则需要重建索引。

2.位图索引
位图索引将与每个键值关联的rowid存储为位图。位图的合并速度极快,可使用AND、OR和NOT操作符的任意组合,基于很多列上的很多条件,实现复杂的布尔操作。与B*树索引相比,位图索引的一个特别好处在于它们包含NULL。就位图索引而言,NULL只不过是另一个具有自己的位图的不同值而已。
一般,在具备以下条件时使用位图索引:

  • 列的基数(不同值的个数)小。
  • 表中的行数多。
  • 列用于布尔代数运算。

3.索引类型选项
在创建索引时,可以应用6个常用选项:

  • 唯一或非唯一(Unique or non-unique)
  • 反向键(Reverse key)
  • 压缩(Compressed)
  • 符合(Composite)
  • 基于函数(Function based)
  • 升序或降序(Ascending or descending)
    所有这6个选项都可以应用于B* 索引,只有后三个选项可用于位图索引。

创建和使用索引:

基本语法:

    CREATE [UNIQUE | BITMAP] INDEX [ schema.]indexname ON [schema.]tablename (column [, column...] );

Oracle 服务器应该可以作出有关使用索引的最佳决策,但是,如果Oracle服务器的做法有误,编程人员可以在代码中嵌入指令(成为优化器提示),以便强制 使用(或不使用)某些索引。

修改和删除索引:

DROP INDEX [ schema.]indexname;
CREATE [UNIQUE | BITMAP] INDEX [ schema.]indexname ON [schema.]tablename (column [, column...] );

ALTER INDEX 命令属于数据库管理范畴,通常用于调整索引的物理属性,不用于调整开发人员关注的逻辑属性,不能用于修改索引。若需要修改索引属性,则必须删除和重新创建索引。

这篇关于OCP学习:DDL和模式对象003的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/978841

相关文章

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java