gpt4 book ai didi

sql - 在 PL/SQL/Oracle Forms 中搜索

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:52 24 4
gpt4 key购买 nike

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

表名:详情

列:Fname,Mname,Lname,NName

这张表包含近十万条记录

我们正在为一些查询选项使用 Oracle 表单

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

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

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

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

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

我的数据库是甲骨文

你能帮我找到一个有效的解决方案吗?如果我遗漏了什么,请帮助我。

谢谢

最佳答案

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

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

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

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

不清楚你的block是基于ie的。表、 View 、查询、过程

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

关于sql - 在 PL/SQL/Oracle Forms 中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14193589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com