Oracle索引建立原则
数据库索引建立常用的规则如下:
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。
因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。 另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。
总的来说,小型表肯定不建索引,
或者数据库记录在亿条数据级以上,还是建议使用非关系型数据库。
还有些特殊字段的数据库,比如BLOB,CLOB字段肯定也不适合建索引。
其实这个问题更感觉偏向于做软件项目的一种经验。
什么字段不适合建立索引
在查询中很少使用或者参考的列
只有很少数据值的列 ,例如性别
更新频繁,检索不频繁的列
大数据对象类型的列
Oracle索引建立原则相关推荐
- SQL索引建立原则和使用
之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,发现遗漏了些东西,这里自己整理一下这方面的内容. 1 前言 SQL索引有两种,聚集索引和非聚集索引 聚集索引存储 ...
- oracle索引建立
1.明确地创建索引 create index index_name on table_name(field_name) tablespace tablespace_name pctfree 5 ini ...
- oracle 索引介绍、作用、使用
oracle 索引介绍.作用.使用 1.什么是索引? 索引是建立在表的一列或者多列上的辅助对象,目的是加快访问表中的数据. oracle 存储索引的结构是B*数(平衡树),而索引是由根节点.分支点和叶 ...
- Oracle索引选择如何选择自己合适高效的方法呢
导读:有些新手在Oracle数据库中创建索引时往往不会使用可选项.其实,有时候在合适的场合使用一些可选项,可以提高索引的创建速度.如为了大批量导入数据,我们往往会先取消索引其以提高插入的速度.然后等数 ...
- Oracle建立索引的原则
1.数据库建立索引的原则 铁律一:天下没有免费的午餐,使用索引是需要付出代价的. 铁律二:对于查询中很少涉及的列或者重复值比较多的列,不要建立索引. 铁律三:对于按范围查询的列,最好建立索引. 铁律四 ...
- SQL Server,Oracle,DB2索引建立语句的对比
http://database.51cto.com/art/201108/284540.htm SQL Server,Oracle,DB2索引建立语句的对比 2011-08-17 20:48 henr ...
- 定时创建oracle索引,oracle数据库关于索引建立及使用的详细介绍
索引的说明 索引是与表相关的一个可选结构,在逻辑上和物理上都独立于表的数据,索引能优化查询,不能优化DML操作,Oracle自动维护索引,频繁的DML操作反而会引起大量的索引维护. 如果SQL语句仅访 ...
- oracle建立覆盖索引,oracle索引类型及扫描方式大整理
oracle索引类型及扫描方式大整理 1. 存储类型 索引在各种关系型数据库系统中都是举足轻重的组成部分,其对于提高检索数据的速度起至关重要的作用.在Oracle中,索引基本分为以下几种:B*Tree ...
- MySQL数据库索引的类型、命名规范、建立原则以及索引失效的情况
本篇中记录下数据库索引相关的知识点! 索引是什么? 举个例子:大家去图书馆借书时,会先在电脑检索书名或作者等关键字信息,查询出该本书对应的一个图书索引后,紧接着就可以拿着这个图书索引去精确定位存放该索 ...
- oracle 索引字典,oracle数据字典、索引、序列
*************************数据字典******************************* 普通的表 是用来存放 应用程序 需要的数据的 student表 是存放学生信息 ...
最新文章
- “此文件来自其他计算机,可能被阻止以帮助保护该计算机” 教你win7解除阻止程序运行怎么操作...
- 如何减少浏览器repaint和reflow(下)
- 数据库性能测试---前阿里数据库团队资深DBA杨奇龙
- GitStats:Git开发历史统计工具 - liyropt - 博客园
- Shell编程中Shift的用法(转)
- 计算机综合试验,计算机综合实验1.doc
- 随想:增强类的重用性
- PIFA-平面倒F天线[搬运]
- 笔记本电脑频繁自动重启_电脑老是自动重启,电脑总是自动重启 - 电脑经常自动重启的解决办法 - 安全专题...
- 智慧医疗分支医院时钟系统(子母钟系统)
- MISC机制编写字符驱动程序
- Gradle教程和指南 - 构建审视
- 对薛兆丰经济学思维的研究:价格的教益
- 如何通过cmd开一个本地服务器
- 编程之旅-Day10
- 冷热酸甜、想成就成?冷酸灵母公司登康口腔欲在深交所主板上市
- GSM和CDMA手机在发生CSFB时的区别
- 去王道论坛,趁热回忆2020考研专业课真题吧,一起攒人品!
- Origin | 设置不同的主次刻度标签
- Linux sysfs文件系统分析