限制最初在 select 列表中返回的行

Limiting rows initially returned in select list

用大约 25,000 个名字填充 Apex 5.1 select 员工列表被证明是加载页面时的性能问题。是否有一种方法可以将初始列表限制为设定的数字(例如 200),并在用户滚动列表时动态填充其他名称块?我应该考虑其他不会减慢页面加载速度的选项吗?

我目前正在使用动态 LOV,并尝试调整此 LOV 以包含 Oracle 行限制代码;但是,无法获取超过初始行集的内容。数据来源是物化视图上的视图。

我很感激任何想法

我会尝试使用层叠的值列表。我不知道那 25.000 个名字代表什么,但是 - 假设它是一家大公司。那么你

  • 第一个 LoV:大陆
  • 2nd Lov: 国家
    • 将之前的LoV引用为where country.continent = :P1_CONTINENT
  • 第三个 LoV:城市
    • 将之前的 LoV 引用为 where city.coutry = :P1_COUNTRY
  • 4rd Lov 实际上是您当前的查询:
    • 将之前的Lov引用为where person.city = :P1_CITY

现在您的值列表不会包含 25.000 行,但是 - 希望 - 少 很多

我会使用带有搜索功能的弹出式 LOV,在用户输入搜索值(超过 3 个字符)之前不显示任何记录。我知道使用弹出式 LOV 很乏味,但这似乎是防止等待慢速列表显示的唯一方法。