我即将创建一个父表和子表。在计划如何对这些数据进行CRUD操作时,我想知道在删除数据方面有什么更好的设计。
我正在使用 SQLite。我知道对于许多数据库,您可以设置级联删除。假设我正确设置关系以支持此类功能,我的问题如下:
删除父记录时使用级联删除功能更好,还是我可以坚持使用事务,并自己手动从父/子表中删除,并在出现故障时回滚?
前端是一个网络应用程序。您可以向我指出的任何建议/文章都会很棒。
我即将创建一个父表和子表。在计划如何对这些数据进行CRUD操作时,我想知道在删除数据方面有什么更好的设计。
我正在使用 SQLite。我知道对于许多数据库,您可以设置级联删除。假设我正确设置关系以支持此类功能,我的问题如下:
删除父记录时使用级联删除功能更好,还是我可以坚持使用事务,并自己手动从父/子表中删除,并在出现故障时回滚?
前端是一个网络应用程序。您可以向我指出的任何建议/文章都会很棒。
这取决于数据的需要,也是一种设计偏好。Having
CASCADE ON DELETE
可以是一个更清晰的实现并更好地描述数据的关系。本文介绍的研究表明,
CASCADE ON DELETE
与 SQLite 中的直接删除相比,性能实际上略有下降。但除非你的负载一直很高,否则这应该不是问题。http://www.codesynthesis.com/~boris/blog/2012/04/12/explicit-sql-delete-vs-on-delete-cascade/