【PLSQL】对所有用户用过滤器将导致性能变差

本文讨论了当PLSQL浏览器加载所有用户对象时导致的性能问题。问题表现为存储过程中出现其他用户的对象,解决方案是将浏览器过滤器设置为默认的‘我的对象’,并重启PLSQL。遵循此方法可以消除‘对所有用户用过滤器将导致性能变差’的警告,确保只显示个人的存储过程。

问题如图:

问题定位:这是PLSQL的浏览器加载了其他公共的对象说给出的提示。

并且如果你的数据库不止你一个用户(还有其他同事所属的用户),你会发现:

自己的存储过程里,也有着其他user or system的对象!!!

解决方法:

将浏览器过滤器设置my objects为默认。方法如图:

然后重启PLSQL!!!

你会发现,这个 提示【对所有用户用过滤器将导致性能变差】没有了。

存储过程里,也只有自己写的存过了。

点赞哦,谢谢~(>‿◠)✌

 

最后备注:在对象中选择All objects,也有可能会出现【对所有用户用过滤器将导致性能变差】的提示哦~

<think>嗯,用户现在想在PL/SQL中定义和使用浏览器过滤器。首先,我需要确定“浏览器过滤器”具体指的是什么。根据提供的引用,特别是引用[3]提到了对象浏览器的搜索和过滤功能。可能用户指的是在PL/SQL Developer工具中对对象浏览器中的对象进行过滤,比如按名称、类型或其他条件筛选显示的内容。 首先,我需要回忆PL/SQL Developer的使用方法。根据引用[3],对象浏览器允许按模式组织对象,并且可以搜索和过滤。用户可能希望自定义这些过滤器来快速找到需要的对象。比如,过滤出某个模式下的所有存储过程,或者名称包含特定关键词的表。 接下来,我需要查阅相关引用中的信息。引用[3]提到了对象浏览器的结构和管理,但没有详细说明如何定义过滤器。不过,根据经验,PL/SQL Developer通常提供过滤功能,比如在对象浏览器上方的搜索框,或者右键菜单中的过滤选项。用户可能需要设置自定义的过滤条件,保存为预设,以便重复使用。 然后,用户的问题提到在PL/SQL中定义和使用,这可能存在混淆。PL/SQL是Oracle的过程化SQL语言,而浏览器过滤器属于PL/SQL Developer这个IDE的功能,不是PL/SQL语言本身的特性。需要澄清这一点,避免用户误解。 接下来,分步骤回答。首先,定义过滤器的步骤:在对象浏览器中找到过滤选项,输入条件,保存为命名过滤器。其次,使用过滤器:选择已保存的过滤器名称,应用即可。此外,高级技巧可能包括使用通配符或正则表达式,组合多个条件。 还需要考虑用户可能的错误操作,比如如何重置过滤器,或者删除已保存的过滤器。这些操作通常在过滤设置中有相应的按钮或选项,比如清除条件或管理保存的过滤器列表。 最后,根据引用[2]和[4],PL/SQL Developer有其他功能如专用复制和测试脚本生成,但当前问题聚焦于过滤器。可能需要提醒用户相关功能,但主要解答如何定义和使用浏览器过滤器。 总结回答结构:先说明浏览器过滤器的位置和用途,再分步讲解定义和使用方法,包括界面操作和示例,最后提供注意事项和相关技巧。</think>在PL/SQL Developer中定义和使用浏览器过滤器是提升开发效率的核心功能,主要用于快速定位数据库对象。以下是详细操作步骤: ### 一、定义浏览器过滤器 1. **打开对象浏览器** 通过菜单栏选择"View" → "Objects"(或直接按F8)调出对象浏览器 2. **激活过滤功能** 在对象浏览器顶部的过滤栏中点击漏斗图标,或右键对象列表选择"Filter" 3. **设置过滤条件** ```sql -- 示例:过滤EMP开头的表对象 Object Name like 'EMP%' and Object Type = 'TABLE' ``` - 支持SQL WHERE子句语法 - 可组合多条件使用AND/OR - 支持通配符:`_`(单字符)、`%`(多字符) 4. **保存命名过滤器** 点击"Save"按钮将当前条件保存为预定义过滤器(如:`MyEmpTables`) ### 二、使用浏览器过滤器 1. **应用现有过滤器** - 点击过滤栏下拉箭头选择已保存的过滤器名称 - 按`Ctrl+F`快速调出过滤输入框 2. **动态过滤技巧** ```sql -- 示例:按修改时间过滤 Last DDL Time > SYSDATE-7 ``` - 支持时间函数:`SYSDATE`, `TO_DATE()` - 支持对象属性:`CREATED`, `STATUS` 3. **多层级过滤** 通过对象浏览器的树形结构逐级展开时,过滤器会自动继承上级模式上下文[^3] ### 三、高级应用示例 1. **正则表达式过滤** ```sql REGEXP_LIKE(Object_Name, '^EMP\d{3}$') ``` 2. **组合对象类型** ```sql Object_Type IN ('PROCEDURE','FUNCTION') AND Owner = 'HR' ``` 3. **使用系统视图** ```sql EXISTS ( SELECT 1 FROM user_tab_columns WHERE table_name = object_name AND column_name = 'SALARY' ) ``` ### 四、注意事项 1. 过滤条件需符合`USER_OBJECTS`视图结构 2. 保存的过滤器存储在`PLSQLDEV.PREFERENCES`配置文件中 3. 通过"Reset Filter"可恢复默认视图 4. 复杂过滤可能导致性能下降,建议结合模式选择使用[^3] **扩展技巧:** 在对象浏览器中右键选择"Apply Filter to Other Windows",可将当前过滤条件同步到代码自动补全等关联功能中[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值