空间数据库性能优化(ArcSDE for Oracle)

SDO_GEOMETRY 数据上载完成后进行analyze(dbms_stat)
不使用SDE用户作为数据owner
SDE用户是ArcSDE中间件的系统用户 管理系统表,SDE表空间 同sys、system用户一样重要 Select any table权限 不要修改SDE用户的表 不要在SDE表空间中存储空间数据
ArcSDE+Oracle性能优化
2020年9月8日
ArcSDE+Oracle性能调整
Oracle的性能调整 ArcSDE的性能调整 数据组织对性能的影响
Oracle性能调整
SGA db_block_size Create database 独占模式(exclusive) System、RBS、Temp表空间的分离 Archiving vs Non-archiving 本地管理表空间,自动段管理,Datafile<2G PCTFREE 10% vector 0 Raster tkprof
加快磁盘I/O
Archiving vs Non-archiving
Archiving-归档模式,优点:安全,缺点:在 大量数据写入/更新DB时,要首先进行数据归 档-影响速度
Non-archiving-非归档模式,优点:大量数据 写入/更新时比归档模式快,缺点:数据出现 问题时只能恢复到上次备份的状态
AUX_STORAGE "TABLESPACE WHGEODATA PCTFREE 10 PCTUSED 90 INITRANS 4 STORAGE ( MINEXTENTS 1 MAXEXTENTS 200 PCTINCREASE 0 FREELISTS 4)"
A_INDEX_ROWID "TABLESPACE WHGEODATA_SPATIAL_INDEX PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 PCTINCREASE 0) NOLOGGING"
row存储在一个block_size中
Create database
独占模式 vs 共享模式 优点:为每个用户分配独立的内存,速
度快 缺点:占用较多内存,如果内存不足为
使用换页空间,导致性能下降
System、RBS、Temp表空间的分离
系统经常读写这几个表空间 目的:将数据分配在不同的物理硬盘上,
AUX_INDEX_COMPOSITE "TABLESPACE WHGEODATA_SPATIAL_INDEX PCTFREE 10 INITRANS 4 STORAGE ( MINEXTENTS 1 MAXEXTENTS 200 PCTINCREASE 0 FREELISTS 4) NOLOGGING"
BLOB可复制 SDO_GEOMETRY:Oracle Spatial存储格
式,R-tree索引,效率比long raw低,但 是支持的软件很多
格之内 Grids/features<2 一个网格的最多要素<4000 平均每个网格中的要素100~300
ቤተ መጻሕፍቲ ባይዱ Dbtune表修改
Sdedbtune –o export Sdedbtune –o export
##WHGEODATA_KEYWORD
ATTRIBUTE_BINARY
"LONGRAW"
PCTFREE
tkprof
修改init.ora sql_trace=true DBMS_system_sql_trace_in_session()
ArcSDE性能调整
不使用SDE用户作为数据owner 创建不同权限的用户 空间原点和Coordinate domain 空间索引网格大小 修改dbtune表,分离空间索引和空间数据本身 数据存储格式:long raw、BLOB、
this based on the accuracy of your data) ➢ Precision = 1 Meter/1 Millimeter = 1000
空间索引网格大小
3倍要素最小多边形大小 尽可能只使用一级索引(>90% = great, > 80%
= good, <80% = change the index) 要素相差太大,考虑建多级索引 一个要素最好在1个网格之内,尽可能在4个网
SDE用户的Schema
创建不同权限的用户
数据更新 部分/全部表 权限<SDE用户 Connect、Resource权限 类似创建
空间原点和Coordinate domain
根据需要修改空间原点坐标 原则:尽可能靠近数据的最左下角坐标
Precision:根据数据精度确定
Precision=storage unit / mapunit ➢ Map Units = Meters ➢ Storage Units = Millimeter (you choose
建议:大量数据上传时将DB改为non-archiving, 平时运行时采用archiving
本地管理表空间
本地管理表空间 –9i新特性 字典管理表空间
PCTFREE
对于经常修改的表,10% 保留,vector 对于较少修改的表,0%保留,raster 目的:减少记录的chaining
SGA
内存分配规划:OS+Oracle+ArcSDE 各使用一部分内存,原则:尽可能不使用交换空间 Oracle内存分配与实际物理内存相关 2G内存 70% 4G内存 50%
2G 内存分配实例
db_block_size
4K、8K、16K、32K 每次读n个block_size 16K 目的:减少数据chaining,尽可能将一个
A_INDEX_SHAPE "TABLESPACE WHGEODATA_SPATIAL_INDEX PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 PCTINCREASE 0) NOLOGGING"
数据存储格式
Long raw效率高,但不可复制 (replication)
合集下载

oracle数据库性能调优

oracle数据库性能调优

oracle数据库性能调优⼀:注意WHERE⼦句中的连接顺序:ORACLE采⽤⾃下⽽上的顺序解析WHERE⼦句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最⼤数量记录的条件必须写在WHERE⼦句的末尾.尤其是“主键ID=?”这样的条件。

⼆: SELECT⼦句中避免使⽤ ‘ * ‘:ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个⼯作是通过查询数据字典完成的, 这意味着将耗费更多的时间。

简单地讲,语句执⾏的时间越短越好(尤其对于系统的终端⽤户来说)。

⽽对于查询语句,由于全表扫描读取的数据多,尤其是对于⼤型表不仅查询速度慢,⽽且对磁盘IO造成⼤的压⼒,通常都要避免,⽽避免的⽅式通常是使⽤索引Index。

三:使⽤索引的优势与代价。

优势:1)索引是表的⼀个概念部分,⽤来提⾼检索数据的效率,ORACLE使⽤了⼀个复杂的⾃平衡B-tree结构. 通常,通过索引查询数据⽐全表扫描要快. 当ORACLE找出执⾏查询和Update语句的最佳路径时, ORACLE优化器将使⽤索引. 同样在联结多个表时使⽤索引也可以提⾼效率. 2)另⼀个使⽤索引的好处是,它提供了主键(primary key)的唯⼀性验证.。

那些LONG或LONG RAW数据类型, 你可以索引⼏乎所有的列. 通常, 在⼤型表中使⽤索引特别有效. 当然,你也会发现, 在扫描⼩表时,使⽤索引同样能提⾼效率.代价:虽然使⽤索引能得到查询效率的提⾼,但是我们也必须注意到它的代价. 索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本⾝也会被修改. 这意味着每条记录的INSERT , DELETE , UPDATE将为此多付出4 , 5 次的磁盘I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引反⽽会使查询反应时间变慢.。

⽽且表越⼤,影响越严重。

使⽤索引需要注意的地⽅:1、避免在索引列上使⽤NOT , 我们要避免在索引列上使⽤NOT, NOT会产⽣在和在索引列上使⽤函数相同的影响. 当ORACLE”遇到”NOT,他就会停⽌使⽤索引转⽽执⾏全表扫描.2、避免在索引列上使⽤计算.WHERE⼦句中,如果索引列是函数的⼀部分.优化器将不使⽤索引⽽使⽤全表扫描.举例:代码如下:低效:SELECT … FROM DEPT WHERE SAL * 12 > 25000;⾼效:SELECT … FROM DEPT WHERE SAL > 25000/12;3、避免在索引列上使⽤IS NULL和IS NOT NULL避免在索引中使⽤任何可以为空的列,ORACLE性能上将⽆法使⽤该索引.对于单列索引,如果列包含空值,索引中将不存在此记录. 对于复合索引,如果每个列都为空,索引中同样不存在此记录. 如果⾄少有⼀个列不为空,则记录存在于索引中.举例: 如果唯⼀性索引建⽴在表的A列和B列上, 并且表中存在⼀条记录的A,B值为(123,null) , ORACLE将不接受下⼀条具有相同A,B值(123,null)的记录(插⼊). 然⽽如果所有的索引列都为空,ORACLE将认为整个键值为空⽽空不等于空. 因此你可以插⼊1000 条具有相同键值的记录,当然它们都是空! 因为空值不存在于索引列中,所以WHERE⼦句中对索引列进⾏空值⽐较将使ORACLE停⽤该索引.代码如下:低效:(索引失效) SELECT … FROM DEPARTMENT WHERE DEPT_CODE IS NOT NULL;⾼效:(索引有效) SELECT … FROM DEPARTMENT WHERE DEPT_CODE >=0;4、注意通配符%的影响使⽤通配符的情况下Oracle可能会停⽤该索引。

oracle优化方法总结

oracle优化方法总结

千里之行,始于足下。

oracle优化方法总结Oracle优化是提高数据库性能和响应能力的重要步骤。

本文总结了一些常见的Oracle优化方法。

1. 使用索引:索引是提高查询性能的主要方法。

通过在表中创建适当的索引,可以加快查询速度,并减少数据访问的开销。

但是要注意不要过度使用索引,因为过多的索引会增加写操作的开销。

2. 优化查询语句:查询语句的效率直接影响数据库的性能。

可以通过合理地编写查询语句来提高性能。

例如,使用JOIN来替代子查询,尽量避免使用通配符查询,使用LIMIT来限制结果集的大小等。

3. 优化表结构:表的设计和结构对数据库的性能也有很大的影响。

合理的表设计可以减少数据冗余和不必要的数据存储,提高查询速度。

例如,适当地使用主键、外键和约束,避免过多的数据类型和字段等。

4. 优化数据库参数设置:Oracle有很多参数可以用来调整数据库的性能。

根据具体的应用场景和需求,可以根据情况调整参数的值。

例如,调整SGA和PGA的大小,设置合适的缓冲区大小,调整日志写入方式等。

5. 使用分区表:当表的数据量很大时,可以考虑将表分成多个分区。

分区表可以加速查询和维护操作,提高数据库的性能。

可以按照时间、地域、业务等来进行分区。

6. 优化存储管理:Oracle提供了多种存储管理选项,如表空间和数据文件管理。

合理地分配存储空间和管理数据文件可以提高数据库的性能。

例如,定期清理无用的数据文件,使用自动扩展表空间等。

第1页/共2页锲而不舍,金石可镂。

7. 数据压缩:对于大量重复数据或者冷数据,可以考虑使用Oracle的数据压缩功能。

数据压缩可以减少磁盘空间的使用,提高IO性能。

8. 使用并行处理:对于大型计算或者批处理任务,可以考虑使用Oracle的并行处理功能。

并行处理可以将任务分成多个子任务,并行执行,提高处理能力和效率。

9. 数据库分区:对于大型数据库,可以考虑将数据库分成多个独立的分区。

数据库分区可以提高数据的并行处理能力,减少锁竞争和冲突,提高数据库的性能。

Oracle数据库内存优化操作说明

Oracle数据库内存优化操作说明

Oracle数据库内存优化操作说明Oracle数据库内存优化是提高数据库性能的重要手段之一。

通过设置合理的内存参数,可以有效地削减IO操作,提高数据访问速度。

本文将介绍一些常见的Oracle数据库内存优化操作。

一、调整PGA参数PGA(Program Global Area)是每个数据库会话独有的内存区域,用于存储排序、哈希操作等临时数据。

调整PGA参数可以提高排序和连接操作的性能。

1. 设置PGA_AGGREGATE_TARGET参数该参数把握PGA内存的总量,一般建议设置为SGA的1/3到1/2。

可以通过以下命令设置:ALTER SYSTEM SET PGA_AGGREGATE_TARGET=XXXM;2. 调整SORT_AREA_SIZE参数该参数把握每个排序操作使用的PGA内存大小,一般建议设置为100MB到200MB。

可以通过以下命令设置:ALTER SESSION SET SORT_AREA_SIZE = XXXM;3. 调整HASH_AREA_SIZE参数第1页/共4页该参数把握每个哈希操作使用的PGA内存大小,一般建议设置为SORT_AREA_SIZE的1/2到1倍。

可以通过以下命令设置:ALTER SESSION SET HASH_AREA_SIZE = XXXM;二、调整SGA参数SGA(System Global Area)是Oracle数据库的全局共享内存区域,用于存储缓存数据、SQL执行方案等。

调整SGA参数可以提高数据访问的速度。

1. 调整SHARED_POOL_SIZE参数该参数把握缓存SQL语句的内存大小,一般建议设置为SGA的1/4到1/3。

可以通过以下命令设置:ALTER SYSTEM SET SHARED_POOL_SIZE=XXXM;2. 调整DB_CACHE_SIZE参数该参数把握数据库缓冲区的内存大小,一般建议设置为SGA的1/2到2/3。

可以通过以下命令设置:ALTER SYSTEM SET DB_CACHE_SIZE=XXXM;3. 调整LOG_BUFFER参数该参数把握数据库日志缓冲区的内存大小,一般建议设置为10MB到100MB。

基于ArcSDE的空间数据库设计及优化

基于ArcSDE的空间数据库设计及优化

基于ArcSDE的空间数据库设计及优化摘要空间数据库是地理信息系统(GIS)应用的核心部分,如何有效地组织并管理空间数据,建立更有效的空间数据模型,一直是GIS领域的主要研究方向。

文章重点讨论了空间数据库技术,以基于ArcSDE for Oracle的供水管网空间数据库的设计为实例,说明如何设计空间数据库及如何优化空间数据库。

关键词空间数据库;数据库设计;空间数据库优化;ArcSDE;GIS;供水管网空间数据库在GIS项目中发挥着核心的作用,集中表现在:用户在决策过程中,通过访问空间数据库获得空间数据,在决策过程完成后再将决策结果存储到空间数据库中。

可见,空间数据库的布局和存储能力对GIS功能的实现和工作的效率影响极大。

如何有效地组织并管理空间数据,建立更有效的空间数据模型,一直是GIS领域的主要研究方向。

本文针对ArcSDE for Oracle的供水管网空间数据库的设计进行了论述,说明如何设计空间数据库及如何优化空间数据库。

1ArcSDE的空间数据模型1)地理数据库(Geodatabase)。

ArcGIS地理数据库(Geodatabase)是ESRI 公司在ArcGIS 8版本引入的一个全新的空间数据模型,是建立在关系型数据库管理信息系统之上的统一的、智能化的空间数据库。

它是在新的一体化数据存储技术的基础上发展起来的新数据模型。

实现了Geodatabase之前所有空间数据模型都无法完成的数据统一管理,即在一个公共模型框架下对GIS通常所处理和表达的地理空间特征如矢量、栅格、TIN、网络、地址进行同一描述。

同时,Geodatabase是面向对象的地理数据模型,其地理空间特征的表达较之以往的模型更接近我们对现实事物对象的认识和表达。

2)Geodatabase的空间数据模型。

Geodatabase事实上是很多Geographic Dataset的集合,最基本的Dataset的类型包括Feature Classes、Raster Dataset、Attribute Tables。

ArcGIS SDE 10.0 For ORACLE 安装配置文档

ArcGIS SDE 10.0  For ORACLE 安装配置文档

ArcSDE安装配置1.ArcSDE安装配置双击加载完成后进入,点击安装ArcSDE for Oracle 11g,根据系统位数选择安装程序,然后一路next,当然某些地方可以根据自己情况作适当修改,比如:你的电脑上装的数据库是Oracle 10g那么可选择ArcSDE for Oracle 10g 进行安装,如下图如下图,点击下一步如下图,选择接受协议,点击下一步1)初次配置选择“完全配置”根据需要选择安装模式2)创建链接用户3)配置表空间链接数据库时密码连接时数据库名4)配置ArcSDE文件5)创建成功信息6)创建好链接的日志信息会记录到文本中连接时数据库名链接数据库时密码7)注册许可,一般我们是用破解版,浏览到许可文件一般在ArcSDE安装目录中8)找到并确定9)授权完成10)创建ArcSDE服务(注意:如果启动服务失败的话,也不要紧可以忽略,手动启动ArcSDE Service(esri_sde))11)最后配置完成单击“完成”2在ArcCatalog中进行连接1)查看SDE服务是否启动win+R ,输入:services.msc,然后确定找到ArcSDE服务打开ArcCatalog进行连接双击“①间接连接注:间接连接是通过SDE 服务连接 2)直接连接它不通过ESRI 提过的服务直接连接数据库,属于两层模式,双击“添加空间数据库连接”,出现下面界面在直接连接中可以server 是主机的名字可为空,因为它会自动找到本地数据库,即使随便指定主机名也是会默认连接本地数据库,Service数据库名,可缺省为空SDE 服务名或端口号5151是服务的名字填上sde:oracle11g,Database是数据库的名字可以不填,username是数据库中的用户名,password是sde的密码。

(注:Password结构为 "sde用户密码@数据库服务实例",如:*****@orcl,直接连接就是直接通过数据库服务实例来连接)测试下:直接连接到本地数据库。

oracle性能优化面试题

oracle性能优化面试题

oracle性能优化面试题一、概述Oracle性能优化是数据库管理中的重要环节,通过合理的调整和优化,可以提升数据库的运行效率和响应速度,提高系统的稳定性和可用性。

在面试中,常常会涉及到Oracle性能优化相关的问题,下面是一些常见的Oracle性能优化面试题。

二、索引优化1. 请说明什么是索引?索引是一种特殊的数据库对象,它能够加快数据库的查询速度。

索引由一个或多个列组成,它们的值会按照一定的顺序进行排序,并建立索引数据结构以支持快速查找。

2. 如何确定何时创建索引?创建索引需要权衡查询的速度和更新的效率。

一般来说,当查询的频率远远大于更新的频率时,可以考虑创建索引。

同时也需要考虑查询的字段是否经常被使用,以及查询的覆盖度等因素。

3. 请说明常见的索引类型?常见的索引类型包括唯一索引、非唯一索引、主键索引、聚簇索引和非聚簇索引等。

4. 如何选择合适的索引?选择合适的索引需要考虑查询的频率、更新的频率、查询的覆盖度等因素。

同时还需要考虑索引的大小以及对于查询的影响。

三、SQL优化1. 请说明常见的SQL调优手段?常见的SQL调优手段包括使用合适的索引、优化SQL语句的写法、使用合适的连接方式、减少数据库的访问次数等。

2. 如何使用执行计划进行SQL优化?执行计划是Oracle数据库为了优化查询语句而生成的查询执行计划,其中包含了查询的操作步骤、连接方式、访问路径等信息。

可以通过查看执行计划来判断查询是否需要进行优化,并通过优化查询的方式来提升性能。

3. 如何优化大表查询?优化大表查询可以通过分页查询、增加条件过滤、创建合适的索引等方式来进行。

同时也可以考虑对大表进行分区或者分表的方式来提高查询效率。

四、资源优化1. 如何优化内存资源?优化内存资源可以通过调整SGA和PGA的大小来实现。

SGA包括共享池、数据库缓存和重做日志缓冲等,可以通过调整参数来合理分配内存。

PGA是为每个会话分配的私有内存区域,可以通过调整PGA_AGGREGATE_TARGET参数来优化。

arcsde原理

arcsde原理ArcSDE(Spatial Database Engine)是由Esri(环球信息系统公司)开发的一种用于管理和操作空间数据的软件。

它是一种高性能的空间数据存储和管理解决方案,可以与各种数据库系统集成,如Oracle、SQL Server等。

ArcSDE采用了多种技术,以支持地理信息系统(GIS)中的空间数据存储和查询操作。

ArcSDE的主要原理是将空间数据存储在数据库中,并提供了一些高级功能和工具,以支持对空间数据的管理和操作。

它提供了一种统一的数据模型,可以存储各种类型的空间数据,如点、线、面等。

同时,ArcSDE还提供了一些索引和优化技术,以加快空间数据的查询和分析速度。

ArcSDE采用了一种称为“空间索引”的技术,以提高空间数据查询的效率。

空间索引是一种数据结构,用于存储空间数据的位置和属性信息,并支持对这些数据进行快速检索。

通过空间索引,ArcSDE可以实现对空间数据的高效查询和分析,提供了一种快速的方式来获取特定区域内的空间数据。

ArcSDE还使用了一种称为“拓扑关系”的技术,用于处理空间数据之间的拓扑关系。

拓扑关系是指空间数据之间的相对位置和连接方式。

通过拓扑关系,ArcSDE可以对空间数据进行拓扑分析,例如判断两个空间对象是否相交、计算空间对象之间的距离等。

ArcSDE还支持空间数据的版本管理和多用户并发访问。

版本管理是指在多个用户同时对空间数据进行编辑时,ArcSDE可以确保数据的一致性和完整性。

它采用了一种称为“版本控制”的机制,以跟踪和管理不同用户对数据的修改。

通过版本控制,ArcSDE可以提供一种有效的方式来管理和协调多个用户之间的空间数据编辑操作。

ArcSDE还提供了一些安全机制,以保护空间数据的安全性和完整性。

它支持对空间数据进行访问控制和权限管理,以确保只有经过授权的用户可以访问和修改数据。

同时,ArcSDE还提供了数据备份和恢复功能,以保护空间数据免受意外故障和数据丢失的影响。

Oracle数据库性能优化与案例分析

技术创新,变革未来
Oracle数据库性能优化与案例分析
性能优化探讨
• 原因:为什么? • 慢(响应时间) • 慢(吞吐量)
性能优化探讨
• 目的:为了什么? • 快(响应时间) • 快(吞吐量)
性能优化之案例分析
• 案例之方法论 • 案例之登录访问 • 案例之资源 • 案例之锁
性能优化方法论发展
• 登录输入指标测量 • Logons:= EndSnap. logons cumulative– StartSnap. logons
cumulative。 • Logons Per Second:= Logons / TimeInterval
案例之登录访问
登录输出指标测量:
Logon Response Time:= Network Response Time * 10 + Native TCP Logon :=Network Response Time * 10 + Listener Response Time + Native IPC Logon Time 。
案例之登录访问
• 例:
•
某医院HIS业务系统的账户登录操作异常缓慢,部分情况下
甚至会出现长时间的卡壳情况,业务影响主要发生在每天早上
的上班时刻。
案例之登录访问
优化过程: • 账户登录过程一般涉及到在账户表格以及对应日志表格上的冲
突,比如Buffer busy waits或者TX lock。AWR未体现该特征。 • AWR报告显示connection management call elapsed time时间偏长
成功率:98% 高 失败率:2% 低
失败人数:500*2%=10

Oracle Spatial与ArcSDE空间数据上载及应用比较

中有 一个 类 型为 MD Y .D S S S O—G O T Y的字 段 , E ME R 后者也 就 是 S aa 的 早 期 版 本 空 间数 据 暗 盒 (p — pt i l S a t a r g) 其特 征 是每 一个空 间几 何 图层 对应 四 i C r de , l a t i 个表 , 分别 为一S O  ̄ E 一 D DM, S O E M与 D L Y R, S O I 一 D G O
S ON E D I D X。这些表 并 不 包 括 属性 数据 , 属性 数 据
用户 可 以使用 交互 式 的 S L语 句上 载 G 空 间 Q S I 数据 , 使用 这种 方法 也 就 是 使 用 各 种 应 用 程序 编 程 接 口( A O, D C等等 ) 上 载 , 户可 以以 自己 如 D OB 来 用 的应 用需 要为导 向 , 用 开 发 语 言 调 用 这些 接 口开 使 发 出各种 各样 的上 载工具 , 即实现 手工 方式 的加 载 。 () 1使用 Jv P 上 载 Oal Saa 的 Jv P aa I A rc ptl aaA I e i
( . stt f il  ̄ , r gadS rei ,i gi n esyo S i c n eh ooy a zo 400 C ia 11 lueo Cv , ei n uvyn J n x U i ri c nea dT cnlg ,G nh u3 10 , h ; ni iw, e n g a v tf e n 2 J n sa ai uvyn dMa p gC .Ld ,J n sa 2 10 C ia .i ghnD d reiga p i o ,t . i ghn340 , hn ) a S n n a
0 引 言

oracle性能优化149页PPT


合理运用技术的重要性
二.性能优化分析基本工具的使用
工欲善其事,必先利其器
SQL量化分析和优化工具:
EXPLAIN
SQL*TRACE TKPROF
4种基本的诊断分析工具
AUTO*TRACE
AWR
ADDM
SQL*PROFILING
SQL ACCESS ADVISOR
SQL TUNING ADVISOR
ASH
SQL语句到底是怎么执行的
最经典的执行计划分析工具---EXPLAIN 可以快速的了解语句的执行过程。 目前几乎所有的开发工具(PLSQL developer、toad
等)都有图形化界面,可以直接的分析语句的执行 计划。但如银行类的客户不允许使用工具。
如何配套使用SQL*TRACE和 TKPROF
一. Oracle数据库性能优化方法论
WHY WHO WHAT HOW WHEN
--Why tunes? --Who tunes? --What to tune? --How to tune? --When to tune?
为什么(why)要优化
--系统慢了? --其实慢只是表象 --距离找到慢的原因可能路还很长…
索引未被使用的原因
1.不要轻易的在字段前加函数 2.尽量不要将字段嵌入表达式中 3.避免字符转换 4.索引列的选择性不高 5.索引列值是否可为空(NULL) 6.检查被索引的列或组合索引的首列是否出现在
PL/SQL语句的WHERE子句中 7.优化器的选择
复合索引
1. 前缀性(Prefixing) 复合索引的前缀性是指只有当复合索引的第一个字 段出现在SQL语句的谓词条件中时,该索引才会被用 到。 2. 可选性(Selectivity) Oracle建议复合索引应按字段可选性(即值的多少) 的高低进行排列,这是因为,字段值越多,可选性 越强,定位的记录就越少,查询效率就越高。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档