我为我的大学课程实施了一个小型数据库。 (当然)有一些操作要在DB中的某些记录上执行,其中有许多记录,用户不可能知道/记住所有这些记录。
作为一个例子,我有一个操作"查找与盘号相关的事件"。我以这种方式在JDBC中实现它:
执行一个列出DB中所有板号的查询(从板#中选择*) 打印所有结果 从用户那里获取所选板块的输入# 执行查询"查找与板号相关的事件" (如果找不到板#,则打印错误。)
现在,我不知道这是不是很好。我的理由是,用户不能事先知道所有的牌照#,所以我必须列出它们以便他可以选择一个。执行一个列出所有内容的查询是我想到的唯一方法(因为我无论如何都无法以任何其他方式访问这些数据)。
这是错误的还是有正确的" /接受的方法来处理类似的问题?
答案 0 :(得分:0)
这是错的;在那种特殊情况下(在我看来)。
“盘子”的数量可能是数百万,或者可能只有几千。重点是,如果您尝试提供所有信息,那么该信息的数量可能会对用户造成压力,而且它可能也会导致严重的性能问题。
如果只有几个选项,则将它们呈现给用户以供选择。如果有很多选择,那就不要这样做。
为什么不允许搜索缩小可能性呢?
而不是提前提供所有板块?答案 1 :(得分:0)
取决于您可以使用多少个可能的印版: -
select count(*) from...
并实施分页,每页提供合理的数量,并有排序标准。