gpt4 book ai didi

sql - 您可以并且应该将表名存储在表中吗?

转载 作者:搜寻专家 更新时间:2023-10-30 23:30:44 24 4
gpt4 key购买 nike

我正在创建一个应用程序,其中 1 个用户将监控另一个用户的进度。这个监视器会随着时间的推移而改变,所以我想建立一个记笔记的过程。每个受监控的用户都会有一组与他们相关的笔记, future 的监控者可以查看这些笔记。

我希望每个用户都有自己的笔记表,因为我担心如果有大量不同用户的笔记,查找起来会很忙。

我的想法是,如果我将所有注释存储在 1 个表中,每个表都以 user_id 作为外键,如果我必须查找 1 个用户的所有注释,我必须搜索整张 table 。如果每个人都有自己的表格,我就可以确切地知道该特定用户的所有笔记所在的位置。 我接近这个的方法是让一个表用户:

User_Monitored
--------
+user_id
...

还有另一个特定于受监视用户的单独表格,假设有很多这样的表格

User_Monitored_Notes_(id)
--------------------
+note_id
+note

中间的第三个表引用了每个用户以及他们关联的表

Intermediary_Table
-----------------
+user_id
+User_Monitored_Notes_(id)

有没有更好的方法来解决这个问题?我觉得让表直接了解数据库结构是不行的。

最佳答案

你需要一张表,如果需要的话可以加一个user_id的索引来提高性能。从数百万行返回结果集将以毫秒为单位。

笔记编号 |用户 ID |注意

即使您确实使用了单独的表,表名的 ID 也会存储在 User_Monitored 中——无需复制它。

如果您确实需要引用数据库中的表,它已经自动构建,您可以使用它来确定表是否存在。

SELECT * FROM sys.tables

关于sql - 您可以并且应该将表名存储在表中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49382723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com