Oracle 10g sql优化之索引篇

网站速度变慢时,你会考虑到什么解决方法?笔者最近公司网站的速度一起很不理想,文章页面基本都要 10s 以上才能打开。数据库用的是 Oracle 10g Express Edtion,存放文章的表超过了 10 万数据量,类似执行一个 select count(1) from res where class_id=1 这样的语句就经常在 10s 以上。然而,今天我在 class_id 上加了一个索引,这条语句的执行时间就几乎变成了 0s。效果之显著,完全出乎我的预料。下面是Oracle 10g sql优化相关的总结:

1. 监控 select 语句

(“数据库主页”从开始菜单里“Oracle Database 10g Express Edition”的“转至数据库主页”进入)

进入“数据库主页>管理>数据库监视器>会话>SQL”页面,在“搜索”里输入“select”,点击“开始”。 这样就可以看到最近执行的 select 语句。点击“SQL”列里的 SQL 语句链接,查看执行情况。其中,“CPU时间”即为执行所用的时间,“已处理的行数”为查询结果的行数。下面的“SQL文本”是 SQL 语句的完整内容,“索引”区域显示该查询使用了哪个索引。

找到“CUP时间”超过 1 秒的查询,看是否需要添加索引。

2. 添加索引

进入“数据库主页>对象浏览器”页面,在右边偏上方有一个“创建”按钮。点击“创建” 按钮,在出现的菜单里选择“索引”,然后输入“表名”,“索引类型”使用“常规”,再点击“下一步”。

在新出现的页面,输入索引的名称和索引列。如果是不唯一的字段,***将“单性值”设置为唯一,可能有助提高检索速度。再点击“下一步”,点击“完成”按钮。

照我的理解,创建索引时选择什么索引列,应该是由 select 语句的 where 部分决定的。比如 where id=1 ,只需选择 id 一个索引列;如果是 where id=1 and name=2 ,则需要选择 id 和 name 两个索引列来创建索引。只对主键进行索引,因为是唯一的,所以将“单性值”设置为“唯一”。

数据量比较大的表,都应在其主键上创建一个索引,其它需要的另加。

order by 语句里的字段,一般无法使用索引,所以,尽量在 order by 之前将查询结果的行数缩到最少。

要提高 order by 语句的执行效率,可适当增加 sort_area_size 的值( 10240000=10m ):

  1. alter system set sort_area_size=10240000 scope=spfile; 

这样就实现了Oracle 10g sql优化的索引优化。

附一:为表添加主键

进入“数据库主页>对象浏览器”页面,在左则选择要创建主键的表。在右边出现的表页面中,点击“约束条件”->“创建”,“约束条件类型”设置为“主键”,其它自行填写。

附二:Oracle 配置参数查询语句

  1. SELECT NAME,VALUE  
  2. FROM v$parameter  
  3. WHERE NAME IN 
  4. (’sga_max_size’,'db_cache_size’,  
  5. ’shared_pool_size’,’shared_pool_reserved_size’,'large_pool_size’,'java_pool_size’,  
  6. ‘db_block_size’,'db_block_buffers’,'log_buffer’,’sort_area_size’,’sort_area_retained_size’,  
  7. ‘hash_area_size’,’sessions’,'open_cursors’  
  8. )ORDER BY NAME

附三:其它参数设置命令

  1. alter system set sga_max_size=700m scope=spfile;  
  2.  
  3. alter system set sga_target=700m scope=spfile;  

【编辑推荐】

  1. 浅谈Oracle优化排序的操作
  2. Oracle使用hash分区优化分析函数查询
  3. 善用Oracle表空间设计提升数据库性能
  4. 优化数据库大幅度提高Oracle的性能
  5. Oracle设置系统参数进行性能优化

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/257339.html<

(0)
运维的头像运维
上一篇2025-05-01 17:41
下一篇 2025-05-01 17:42

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注