在我的应用程序中,我尽可能地进行多行插入,因为它减少了数据库和应用程序之间的往返次数。
不过,我很好奇,还有其他好处吗?例如,如果像这样一次插入多行:
insert into tbl (c1, c2) values
(v1, v2)
(v3, v4)
Run Code Online (Sandbox Code Playgroud)
相对:
insert into tbl (c1, c2) values (v1, v2)
insert into tbl (c1, c2) values (v3, v4)
Run Code Online (Sandbox Code Playgroud)
并且表有索引,索引是在第一种情况下计算一次,在第二种情况下计算两次吗?还是每次插入总是一次?假设两个查询在同一个事务中。
我正在使用 PostgreSQL。
我在 PostgreSQL 中有一个多租户应用程序,每个表中都有一个重复的tenant_id 列,以帮助将租户彼此隔离。
我的问题是,有什么方法可以使用数据库约束来确保tenant_ids与其父级一致。
例如,想象一个blog_posts
有很多comments
. 我想确保对于任何评论,tenant_id 与给定 blog_post_id 的tenant_id 相同。
这可以通过简单且可维护的方式完成吗?