`

如何提升Oracle数据库搜索效率

阅读更多

需要用索引来解决,索引的创建规则如下:
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。

 

几点关键的东西:
1 好的数据库结构可以提高的效率是你难以想象的,所以在做数据库设计的时候就需要做好这方面的考虑,这是基础,需要考虑表的大小,结构,访问频率,以及表之间的相关性,提个建议,除开主键之外最好不要做过多的约束,比如外键啊之类的,强烈建议不使用,通过业务逻辑来控制。

2 对于访问量大的表,或者数据量大的表,建议做分表,分表的方法很多,这里不赘述了,通过结构和业务逻辑来实现性能的优化。

3 尽量使用索引查询,就是无法直接查询到,也可以通过索引字段做约束条件缩小查询范围,比如通过PLSQL的查询计划就可以看到SQL语句的执行情况。

4 数据库设计的时候,要根据实际情况来做,不建议墨守成规的按照什么BC范式啊,4级范式之类的来搞,比如China Mobile的数据库基本就能达到一级范式的标准,所以要根据你的需求来设计,比能扫一次表就可以完成的数据库操作,你就没必要把表拆分成2个表,经验积累起来就有想法了,这个几句话说不清楚的。

分享到:
评论

相关推荐

    数据库-Oracle

    图书馆借书数据库:为了方便查询图书馆中图书借阅状况和统计学生借书情况,实现对各种...通过相应的程序与数据库的结合,我们可以将日常工作电子化、智能化,进一步方便管理员的工作、提高我们学习和查找资料的效率。

    Oracle数据库中分页查询介绍

    在构建自定义搜索引擎时,...在等待用户请求下一组数据时,让数据库维护一个游标的效率是非常低的。对 HTML 编写代码让游标位于客户端是可以做到的,但是游标是一个有限的资源,所以每次在页面装载完成时最好关闭游标。

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

    Oracle SQL Handler (Oracle客户端工具) V3.1

    本工具是用 Java 开发的、专门用于 Oracle 数据库操作的一种图形界面工具: 多线程、多连接、支持 PL/SQL、功能实用、操作简便,能运行于所有平台包括 Windows、Linux 及 Unix,勿需安装 Oracle 客户端,仅 2.8 MB ...

    空间数据库管理系统概论.docx

    空间数据引擎和对象关系空间数据库的对比 项目 空间数据引擎(寄生模式) 对象关系空间数据库(融合模式) 技术特点 中间件技术 数据库技术 代表产品 ARCSDE、SuperMap SDX+、MapGIS SDE、TerraLib(开源) Oracle ...

    数据库管理系统DBMS在企业管理中的应用.doc

    现阶段企业所使用的数据库管理系统的种类 MS SQL SYBASE DB2 ORACLE MySQL ACCESS VF 选择原则 选择数据库管理系统时应从以下几个方面予以考虑: (1) 构造数据库的难易程度。 需要分析数据库管理系统有没有范式的...

    Oracle中Like与Instr模糊查询性能大比拼

    t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:  SQL> set timing ...

    java无限爬取新浪博客蜘蛛程序1.20版本 for windows界面风格

    1.14 更新界面添加数据库创建 更新数据库连接重复值 优化线程管理 1.15 更新 优化数据库连接 更新文本创建bug 界面化 图片下载bug 1.16 添加Oracle数据库支持 添加线程提高抓取效率 1.20 添加统计文章和用户功能 ...

    SQLserver数据库管理系统需求分析.doc

    目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩 展,但是包括Select,Insert,Update,Delete,Create,...

    DBTSearch软件开发包

    DBTSearch功能简介: 数据库管理系统存储的一般都是结构化数据,长足于数值的计算、查询、... * DBTSearch每秒可索引3000条记录(主要瓶颈为数据库记录读取效率);搜索速度在毫秒级别。 * DBTSearch支持增量更新。

    mysql数据库my.cnf配置文件

    # MySQL会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySQL会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大 sort_buffer_size = ...

    SQLserver数据库管理系统需求分析(1).doc

    学生成绩管理系统是应对学生人数增多、信息量增大的问题,实现管 理的现代化、网络化,逐步摆脱当前学生成绩管理系统的人工管理方式,提高成绩管理 效率而开发的。希望该程序能够解决学生信息存储、学生成绩查询、...

    短信猫中间件(短信猫网关)

    支持主流数据库:Oracle、Sql Server、MySql. 3>.支持各类标准短信猫及猫池,收发稳定、效率高. 4>.支持超长短信发送,支持接收短信自动转发和回复. 5>.数据库接口表:SMS(发送队列表)、SMSRec(接收表).

    LECCO SQL Expert (智能自动SQL优化)

    目前在商用数据库领域LECCO TechnologyLimited(灵高公司)拥有该技术并提供使用该技术的自动优化产品——LECCO SQL Expert,其支持Oracle、Sybase、MS SQLServer和IBMDB2数据库平台。该产品针对数据库应用的开发和...

    WinSQL Professional v9.0.107.624 破解版

    它通过提供给他们能通过ODBC与任何数据库会话的直觉性的工具而使得他们更有生产效率。使用 WinSQL 你可以:1.数据库管理员能轻易有效也管理任何一个相关的数据库。2.程序员能快速地写SQL语句,捕捉它们的响应时间并...

    SOPI垂直搜索引擎系统 V2.2

    使用与GOOGLE相同的数据库系统Oralce Berkeley DB嵌入式数据库,千万级数据状况下操作数据仍保持在毫秒级,与使用ORACLE或SqlServer数据库性能提升数百倍。 系统结构的合理分离有利于分布式架构,适应未来大量的...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形图像处理 361 6.1 图像与统计 362 实例272 图形计数器 362 实例273 GD2图形计数器 363 实例274 通过图像显示投票统计结果 365 实例275 通过图像显示密码...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形图像处理 361 6.1 图像与统计 362 实例272 图形计数器 362 实例273 GD2图形计数器 363 实例274 通过图像显示投票统计结果 365 实例275 通过图像显示密码...

    短信猫网关(短信中间件)

    支持主流数据库:Oracle、Sql Server、MySql. 3>.支持各类标准短信猫及猫池,收发稳定、效率高. 4>.支持超长短信发送,支持接收短信自动转发. 5>.数据库接口表:SMS(发送队列表)、SMSRec(接收表).

    八爪鱼采集器V4.6版安装包.zip

    【八爪鱼采集器概括介绍】 轻松从各种不同的网站或者网页获取大量的规范化数据 ...新增导出到Oracle数据库功能。详细功能说明 新增保存导出设置功能,使用更加便捷。 优化本地缓存功能,加快软件运行速度,提升性能

Global site tag (gtag.js) - Google Analytics