【问题标题】:Searching in PL/SQL /Oracle Forms在 PL/SQL /Oracle 表单中搜索
【发布时间】:2013-01-07 10:01:22
【问题描述】:

这是关于在表格中搜索文本

表名: 详情

列: Fname,Mname,Lname,NName

此表包含近 10 万条记录

我们将 Oracle 表单用于某些查询选项

用户输入一个名称,表单在表格中搜索名称并根据名称(Fname/Mname/Lname/NName)在其所在的列中进行进一步的操作。

由于表中存在大量数据,因此搜索需要很长时间。

我尝试了表的功能索引,但它没有工作它也需要更多时间

后来我尝试了这样的东西 将所有名称连接成一个名称并将其放入游标中。 使用我尝试使用 Instring 的光标输出,但它挂起

我也尝试过搜索构建动态光标,但没有成功。

我的数据库是甲骨文

你能帮我找到一个有效的解决方案吗,或者如果我错过了什么,请帮助我。

谢谢

【问题讨论】:

    标签: sql algorithm forms plsql oracle10g


    【解决方案1】:

    首先,10 万(100,000)条记录本身并不是一张大表。

    我可以看到的问题是查询似乎正在对 Fname/Mname/Lname/NName 列执行 OR。 这意味着查询将至少执行一次全表扫描以获取结果。 您可能希望使用调试来获取它对数据库触发的查询,并尝试在 SQL 提示符下使用自动跟踪来调整它。

    您可能需要澄清搜索是否也在对这些列执行类似 LIKE 而不是 EQUALS 的操作。因为 LIKE 会进一步影响查询并影响索引。

    当然,使用 INSTR 会禁用搜索列上的索引。

    目前尚不清楚您的块是否基于 ie。表、视图、查询、过程

    您可能想尝试在 FIRST_ROWS 表单的块属性上使用提示。

    【讨论】:

    • 是的,搜索使用 Like 语句 我的块是基于表单内的一个过程 是的,我会尝试使用 FIRST_ROWS 并在它帮助我时更新
    猜你喜欢
    • 1970-01-01
    • 2013-05-08
    • 2020-03-31
    • 2022-08-17
    • 2010-10-12
    • 2016-08-02
    • 2018-07-11
    • 2015-07-08
    • 2023-04-06
    相关资源
    最近更新 更多