
Oracle优化系列
文章平均质量分 78
Oracle相关体系架构、高可用、备份恢复、异地容灾、SQL优化、DB优化等相关领域
Dav_2099
专注数据库领域。目前已有Oracle方面 OCP , OCM认证; PostgreSQL方面 PGCA,PGCM ; OceanBase方面 OBCA;OpenGauss OGCA;曾因工作需要进行 Cisco网络工程师CCNA、CCNP;微软认证IT专家(MCITP)等的培训及学习;项目管理方面 PMP ,计算机技术与软件(高级)专业技术资格 之 信息系统项目管理师高级证书;
展开
-
Dav_笔记14:优化程序提示 HINTs -4
指定表的提示通常是指发生提示的DELETE,SELECT或UPDATE查询块中的表,而不是指语句引用的任何视图中的表。■对于非内联视图的视图,仅当引用查询不引用其他表或视图时(即,如果SELECT语句的FROM子句仅包含视图),才会保留视图中的访问路径和连接提示。■如果视图是内联视图(即,如果它出现在SELECT语句的FROM子句中),则当视图与顶级查询合并时,将保留视图内的所有访问路径和连接提示。■如果没有顶级优化程序模式提示,则只要视图中的所有模式提示都一致,数据库就会在引用的视图中使用模式提示。原创 2025-02-17 22:24:47 · 729 阅读 · 0 评论 -
Dav_笔记14:优化程序提示 HINTs -2
您可以使用CHANGE_DUPKEY_ERROR_INDEX和IGNORE_ROW_ON_DUPKEY_INDEX提示来处理在线应用程序升级期间冲突的INSERT操作。如果SQL语句具有指定优化方法和目标的提示,则优化程序将使用指定的方法,无论是否存在统计信息,OPTIMIZER_MODE初始化参数的值以及ALTER SESSION语句的OPTIMIZER_MODE参数。如果为访问路径或连接操作指定提示以及ALL_ROWS或FIRST_ROWS(n)提示,则优化程序优先考虑提示指定的访问路径和连接操作。原创 2025-02-12 22:23:00 · 652 阅读 · 0 评论 -
Dav_笔记14:优化程序提示 HINTs -1
语句块只能有一个包含提示的注释,并且该注释必须遵循SELECT,UPDATE,INSERT,MERGE或DELETE关键字。多表提示类似于单表提示,但提示可以指定一个或多个表或视图。请注意,USE_NL(table1 table2)不被视为多表提示,因为它是USE_NL(table1)和USE_NL(table2)的快捷方式。出于这个原因,通过提示进行测试,但使用其他技术来管理SQL执行计划,例如SQL Tuning顾问程序和SQL计划基准。在这种情况下,您可以使用提示来指示优化程序使用更好的执行计划。原创 2025-02-12 22:10:43 · 348 阅读 · 0 评论 -
Dav_笔记13:SQL Access Advisor 之 2 使用SQL Access Advisor-4
本节说明了使用SQL Access Advisor的一些典型方案。Oracle数据库提供了一个脚本,其中包含本章的示例aadvdemo.sql。来自用户定义的工作负载的建议以下示例从用户定义的表SH.USER_WORKLOAD导入工作负载。 然后,它会创建一个名为MYTASK的任务,将存储预算设置为100 MB,然后运行该任务。 PL / SQL过程打印建议。 最后,该示例生成一个脚本,您可以使用该脚本来实现建议。使用SQL语句加载USER_WORKLOAD表,如下所示:步骤3从用户定义的表SH原创 2024-08-14 23:39:05 · 854 阅读 · 0 评论 -
Dav_笔记13:SQL Access Advisor 之 2 使用SQL Access Advisor-3
■执行快速调整■管理任务。原创 2024-08-14 23:32:06 · 963 阅读 · 0 评论 -
Dav_笔记13:SQL Access Advisor 之 2 使用SQL Access Advisor-2
您可以使用多个目录视图查看SQL Access Advisor生成的每个建议,例如(DBA,USER)_ADVISOR_RECOMMENDATIONS。此外,顾问在推荐过程早期提出的建议不包含任何基表分区建议。有几个控制命名约定的任务参数(MVIEW_NAME_TEMPLATE和INDEX_NAME_TEMPLATE),这些新对象的所有者(DEF_INDEX_OWNER和DEF_MVIEW_OWNER)以及表空间(DEF_MVIEW_TABLESPACE和DEF_INDEX_TABLESPACE)。原创 2024-08-13 22:57:09 · 993 阅读 · 0 评论 -
Dav_笔记13:SQL Access Advisor 之 2 使用SQL Access Advisor-1
本节讨论有关SQL Access Advisor的一般信息和使用所需的步骤,包括:■使用SQL Access Advisor的步■使用SQL Access Advisor所需的权限■设置任务和模板■SQL Access Advisor工作负载。原创 2024-08-13 22:20:42 · 538 阅读 · 0 评论 -
Dav_笔记13:SQL Access Advisor 之 1 Summary
使用SQL Access Advisor的一种简单方法是调用其向导,该向导可从Advisor Central页面的Enterprise Manager中获得。如果您更喜欢通过DBMS_ADVISOR包使用SQL Access Advisor,那么本节将介绍必须调用这些过程的基本组件和顺序。本节介绍生成一组建议的四个步骤:■创建任务■定义工作负载■生成建议■查看并实施建议工作负载由一个或多个SQL语句以及完全描述每个语句的统计信息和属性组成。完整工作负载包含来自目标业务应用程序的所有SQL语句。原创 2024-08-13 21:57:21 · 1047 阅读 · 0 评论 -
Dav_笔记12:Automatic SQL Tuning 之 6 相关视图
■有关SQL调优集中语句的捕获执行计划的信息显示在DBA_SQLSET_PLANS和USER_SQLSET_PLANS视图中。■顾问执行进度信息显示在V$ADVISOR_PROGRESS视图中。■SQL配置文件信息显示在DBA_SQL_PROFILES视图中。和DBA_ADVISOR_RATIONALE视图。和DBA_SQLSET_REFERENCES视图。和DBA_SQLTUNE_PLANS视图。■包含与SQL调优相关的信息的动态视图,和V$SQL_BIND_DATA视图。■SQL调整信息视图,原创 2024-08-08 22:30:00 · 227 阅读 · 0 评论 -
Dav_笔记12:Automatic SQL Tuning 之 5 managing SQL Profiles
SQL配置文件包含对自动SQL调整期间发现的较差优化程序估计值的更正。此信息可以改进优化器基数和选择性估计,从而导致优化器选择更好的计划。SQL配置文件不包含有关各个执行计划的信息。相反,优化程序在选择计划时具有以下信息源:■环境,包含数据库配置,绑定变量值,优化程序统计信息,数据集等■SQL配置文件中的补充统计信息如果环境或SQL配置文件发生更改,则优化程序可以创建新计划。您可以使用SQL配置文件,无论是否有SQL计划管理。如果使用SQL计划管理,则优化程序选择的计划必须是已启用的计划基准。原创 2024-08-07 22:18:55 · 1230 阅读 · 0 评论 -
Dav_笔记12:Automatic SQL Tuning 之 4 管理SQL STS
SQL调优集(STS)是一个数据库对象,它包含一个或多个SQL语句及其执行统计信息和执行上下文,并且可以包括用户优先级排名。您可以将SQL语句加载到来自不同SQL源的SQL调优集中,例如AWR,共享SQL区域或用户提供的自定义SQL。STS包括:■一组SQL语句■关联的执行上下文,例如用户架构,应用程序模块名称和操作,绑定值列表以及游标编译环境■关联的基本执行统计信息,例如已用时间,CPU时间,缓冲区获取,磁盘读取,已处理的行,游标提取,执行次数,完成执行次数,优化程序成本和命令类型。原创 2024-08-01 23:00:00 · 1138 阅读 · 0 评论 -
Dav_笔记12:Automatic SQL Tuning 之 3 SQL-Tuning
您可以手动调用SQL Tuning Advisor以按需调整一个或多个SQL语句。要调整多个语句,必须创建SQL调优集(STS)。SQL调优集是一个数据库对象,它存储SQL语句及其执行上下文。您可以使用命令行API或企业管理器创建SQL调优集。请参见“Dav_笔记12:Automatic SQL Tuning 之 4 管理SQL调优集”。原创 2024-08-01 00:15:00 · 2504 阅读 · 0 评论 -
Dav_笔记1-configuring a database for performance
当然这些对性能影响不到,最重大的是processes这个参数,最重要,参数关注如下:sessions,原创 2024-07-29 21:17:45 · 975 阅读 · 0 评论 -
Dav_笔记12:Automatic SQL Tuning 之 2 管理STA
SQL Tuning Advisor将一个或多个SQL语句作为输入,并调用自动调整优化器对语句执行SQL调优。产出采取建议或报告的形式,以及每项建议的理由及其预期收益。该建议涉及对象统计信息的集合,新索引的创建,SQL语句的重构或SQL配置文件的创建。您可以选择接受建议以完成SQL语句的调优。数据库可以通过在系统维护窗口期间使用SQL Tuning Advisor识别有问题的语句并实现建议来自动调整SQL语句。自动运行时,SQL Tuning Advisor称为自动SQL调优顾问。原创 2024-07-30 00:15:00 · 827 阅读 · 0 评论 -
Dav_笔记9:Using Indexes and Clusters之4
您可以在表上使用现有的非唯一索引来强制实现唯一性,无论是UNIQUE约束还是PRIMARY KEY约束的唯一方面。因此,启用禁用的UNIQUE或PRIMARY KEY约束不需要重建与约束关联的唯一索引。数据库可以使用表的并行一致读取查询来验证启用的无效约束,以确定是否有任何数据违反约束。启用的无效约束的行为类似于新数据的已启用验证约束。通过在启用的无效状态中放置约束,可以在不锁定表的情况下启用约束。不会发生新的DML,查询或DDL,因为在启用操作期间,没有任何机制可以确保表上的操作符合约束。原创 2024-07-18 00:30:00 · 292 阅读 · 0 评论 -
Dav_笔记9:Using Indexes and Clusters之3
即使在创建索引之后,优化器也不能仅仅因为索引存在而使用使用索引的访问路径。在某些情况下,您可能希望阻止SQL语句使用使用现有索引的访问路径。在创建作为现有索引子集的新索引或重建具有新存储特征的现有索引时,Oracle数据库可能会使用现有索引而不是基表来提高索引构建的性能。■如果某些键更频繁地出现在WHERE子句中,则创建索引,以便更频繁选择的键构成一个前导部分,以允许仅使用这些键的语句使用索引。■使用INDEX或INDEX_COMBINE提示指示优化程序使用一个索引或一组列出的索引而不是另一个索引。原创 2024-07-17 22:15:00 · 295 阅读 · 0 评论 -
Dav_笔记9:Using Indexes and Clusters之2
修改索引列的UPDATE语句和修改索引表的INSERT和DELETE语句比没有索引的时间要长。使用MIN或MAX以外的函数的WHERE子句或具有索引键的运算符不会使使用索引的访问路径(基于函数的索引除外)不可用。索引的前导部分是在创建索引的CREATE INDEX语句的列列表中首先和连续指定的一个或多个列的集合。■考虑在与AND运算符结合使用的WHERE子句条件中经常出现的键上创建复合索引,尤其是当它们的组合选择性优于单独的任一键的选择性时。索引的选择性是表中具有相同索引键值的行的百分比。原创 2024-07-17 06:15:00 · 448 阅读 · 0 评论 -
Dav_笔记9:Using Indexes and Clusters之1
请注意,创建用于调优一个语句的索引可能会影响优化程序对其他语句的执行计划的选择。例如,如果您创建一个索引供一个语句使用,那么优化器也可以选择将该索引用于应用程序中的其他语句。虽然查询优化有助于避免在查询执行中使用非选择性索引,但SQL引擎必须继续维护针对表定义的所有索引,无论查询是否使用它们。如果您决定是否创建新索引来调优语句,那么您还可以使用EXPLAIN PLAN语句来确定优化程序是否在运行应用程序时选择使用这些索引。此外,应用程序中的索引有时会使用对语句执行计划的调查不明显的用法。原创 2024-07-16 23:22:18 · 307 阅读 · 0 评论