【问题标题】:Auto-deleting particular records in one table of Oracle database using SQL使用 SQL 自动删除 Oracle 数据库的一个表中的特定记录
【发布时间】:2015-11-18 18:35:53
【问题描述】:

我有一个关于使用 SQL 自动删除 Oracle 数据库的一个表中的特定记录的问题。

我正在为私人诊所制作小型数据库学术项目,我必须用 Java 设计 Oracle 数据库和客户端应用程序。 我的一个想法是安排表“访问”,其中存储过去发生的所有患者访问以用于历史目的。上述表会增长得很快,因此搜索性能会很弱。 所以我们的想法是制作一个名为“currentVisits”的更小的表,它只保存未来访问的约会,因为搜索大约 1000 条记录比几年后搜索几百万条记录要快得多。

我的问题是如何在临时表“currentVisits”发生后自动删除 SQL 中的记录。 这两个表都将存储 dateOfVisit、patientName、doctorID 等字段。 有没有可能让它以简单的方式工作?例如使用触发器?

我是这个主题的新手,所以感谢您的每一个回答。

【问题讨论】:

    标签: sql database oracle


    【解决方案1】:

    不用担心数据大小。对于现代计算硬件上的数据库来说,数百万条记录并不是特别大。但是,您将需要适当的数据结构。

    在这种情况下,您需要在指示当前记录的列上建立索引。当前记录很可能会附加到表的末尾,因此它们往往会聚集在少数数据页上。这是一件好事。

    如果您对表有很重的删除负载,或者您正在使用聚集索引,那么包含当前记录的页面可能会分布在整个数据库中。在这种情况下,您希望在聚集索引中包含“当前”列。

    【讨论】:

    • 感谢您的回答!实际上,我们的老师提出了这样的解决方案,但他故意使我认为的事情复杂化。我相信您的解决方案会更好,我会尝试按照您所说的那样组织事情。干杯:)
    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多