mysql - 列出数据以供选择的良好 SQL 实践

标签 mysql sql database performance jdbc

我正在为我的大学类(class)实现一个小型数据库。 (当然)需要对数据库中的某些记录执行操作,其中有很多操作,用户不可能知道/记住所有这些操作。

作为示例,我有一个操作“查找与车牌号相关的事件”。我在 JDBC 中是这样实现的:

执行查询,列出数据库中的所有车牌号(从车牌号中选择 *) 打印所有结果 将用户选择的板作为输入# 执行查询“查找与车牌号相关的事件”(如果未找到车牌号,则打印错误)。

现在,我不知道这是否是一个好的做法。我的理由是,用户无法提前知道所有车牌#,所以我必须列出它们,以便他可以选择一个。执行列出所有数据的查询是我想到的唯一方法(因为无论如何我都无法以任何其他方式访问该数据)。

那么这是错误的还是有“正确”/可接受的方法来解决类似问题?

最佳答案

这是错误的;在那种特殊情况下(在我看来)。

“盘子”的数量可能有数百万,也可能只有数千。关键是,如果您尝试呈现所有信息,则该信息量可能会让用户不知所措,而且还可能导致重大性能问题。

如果只有几个选项,则将它们呈现给用户以供选择。如果有很多选项,则不要这样做。

与其预先提供所有板 block ,为什么不允许搜索来缩小可能性?

关于mysql - 列出数据以供选择的良好 SQL 实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445265/

相关文章:

IF 中的 MySQL 计数

数据库索引和查找与 "closest neighbour"不完全匹配

c# - 锁定记录和解锁

mysql - 在启用 RPC 的情况下,使用 OPENQUERY() 删除行时出现问题(区分大小写)

MySQL选择没有重复uid的前十条记录

mysql - 从两个表中进行选择,其中两个给定日期不在另外两个日期之间。

sql - 计算PostgreSQL中字符串中子字符串的出现次数

sql - 使用其节点和子节点将行从xml插入sql server中的表

mysql - 使用一个引用字段来实现多个外键约束有什么可能

sql - 如何使用 'DAY' 与 'd' 在 Access 中添加()