数据库索引建立常用的规则如下:

1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;

3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;

索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。
因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。 另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。
总的来说,小型表肯定不建索引,
或者数据库记录在亿条数据级以上,还是建议使用非关系型数据库。
还有些特殊字段的数据库,比如BLOB,CLOB字段肯定也不适合建索引。
其实这个问题更感觉偏向于做软件项目的一种经验。

什么字段不适合建立索引

在查询中很少使用或者参考的列
 只有很少数据值的列 ,例如性别
 更新频繁,检索不频繁的列
 大数据对象类型的列

Oracle索引建立原则相关推荐

  1. SQL索引建立原则和使用

    之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,发现遗漏了些东西,这里自己整理一下这方面的内容. 1 前言 SQL索引有两种,聚集索引和非聚集索引   聚集索引存储 ...

  2. oracle索引建立

    1.明确地创建索引 create index index_name on table_name(field_name) tablespace tablespace_name pctfree 5 ini ...

  3. oracle 索引介绍、作用、使用

    oracle 索引介绍.作用.使用 1.什么是索引? 索引是建立在表的一列或者多列上的辅助对象,目的是加快访问表中的数据. oracle 存储索引的结构是B*数(平衡树),而索引是由根节点.分支点和叶 ...

  4. Oracle索引选择如何选择自己合适高效的方法呢

    导读:有些新手在Oracle数据库中创建索引时往往不会使用可选项.其实,有时候在合适的场合使用一些可选项,可以提高索引的创建速度.如为了大批量导入数据,我们往往会先取消索引其以提高插入的速度.然后等数 ...

  5. Oracle建立索引的原则

    1.数据库建立索引的原则 铁律一:天下没有免费的午餐,使用索引是需要付出代价的. 铁律二:对于查询中很少涉及的列或者重复值比较多的列,不要建立索引. 铁律三:对于按范围查询的列,最好建立索引. 铁律四 ...

  6. SQL Server,Oracle,DB2索引建立语句的对比

    http://database.51cto.com/art/201108/284540.htm SQL Server,Oracle,DB2索引建立语句的对比 2011-08-17 20:48 henr ...

  7. 定时创建oracle索引,oracle数据库关于索引建立及使用的详细介绍

    索引的说明 索引是与表相关的一个可选结构,在逻辑上和物理上都独立于表的数据,索引能优化查询,不能优化DML操作,Oracle自动维护索引,频繁的DML操作反而会引起大量的索引维护. 如果SQL语句仅访 ...

  8. oracle建立覆盖索引,oracle索引类型及扫描方式大整理

    oracle索引类型及扫描方式大整理 1. 存储类型 索引在各种关系型数据库系统中都是举足轻重的组成部分,其对于提高检索数据的速度起至关重要的作用.在Oracle中,索引基本分为以下几种:B*Tree ...

  9. MySQL数据库索引的类型、命名规范、建立原则以及索引失效的情况

    本篇中记录下数据库索引相关的知识点! 索引是什么? 举个例子:大家去图书馆借书时,会先在电脑检索书名或作者等关键字信息,查询出该本书对应的一个图书索引后,紧接着就可以拿着这个图书索引去精确定位存放该索 ...

  10. oracle 索引字典,oracle数据字典、索引、序列

    *************************数据字典******************************* 普通的表 是用来存放 应用程序 需要的数据的 student表 是存放学生信息 ...

最新文章

  1. “此文件来自其他计算机,可能被阻止以帮助保护该计算机” 教你win7解除阻止程序运行怎么操作...
  2. 如何减少浏览器repaint和reflow(下)
  3. 数据库性能测试---前阿里数据库团队资深DBA杨奇龙
  4. GitStats:Git开发历史统计工具 - liyropt - 博客园
  5. Shell编程中Shift的用法(转)
  6. 计算机综合试验,计算机综合实验1.doc
  7. 随想:增强类的重用性
  8. PIFA-平面倒F天线[搬运]
  9. 笔记本电脑频繁自动重启_电脑老是自动重启,电脑总是自动重启 - 电脑经常自动重启的解决办法 - 安全专题...
  10. 智慧医疗分支医院时钟系统(子母钟系统)
  11. MISC机制编写字符驱动程序
  12. Gradle教程和指南 - 构建审视
  13. 对薛兆丰经济学思维的研究:价格的教益
  14. 如何通过cmd开一个本地服务器
  15. 编程之旅-Day10
  16. 冷热酸甜、想成就成?冷酸灵母公司登康口腔欲在深交所主板上市
  17. GSM和CDMA手机在发生CSFB时的区别
  18. 去王道论坛,趁热回忆2020考研专业课真题吧,一起攒人品!
  19. Origin | 设置不同的主次刻度标签
  20. Linux sysfs文件系统分析

热门文章

  1. SPI协议的通信原理
  2. php 到处excel 乱码,php 导出excel 乱码怎么办
  3. c语言实验答案周信东综合程序设计,周信东主编最新版-C语言程序设计基础实验一实验报告.doc...
  4. Godot—2D游戏设计笔记
  5. 小红帽酒店仓库管理系统
  6. 微信APP支付开发步骤及要点
  7. 前端预览excel插件_网页实现Excel在线预览方案集合
  8. 自动编号转化为文本_将您的自动回复器转化为潜在客户
  9. 阿里fastjson 对象转JSON
  10. tcp服务器测试网页版,tcp测试服务器