gpt4 book ai didi

mysql - 哪个性能更好?

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

我正在考虑在社交网络应用程序的上下文中用于帖子及其评论的数据库模式,我正在徘徊这两者中哪一个会提供更好的性能:

我将帖子的评论存储在“评论” 表中,将帖子存储在“帖子” 表中。现在,我的评论表架构如下所示:

postId commentId postedBy Date CommentBody

因为为了检索帖子的评论,我需要搜索其 postId 与该特定帖子的 postId 匹配的所有帖子,甚至我的 postId 也不能成为主键,因为 postId 在列中不是唯一的(因为单个帖子的多个评论),因此我在考虑是否可以将 postId 和 commentId 合并为一个 commentId (这成为主键)使用它也可以检索 postId .我是这样想的:

CommentId 将生成为 postId*100+i(其中 i 是帖子的第 i 条评论)

因此,为了检索帖子的评论(比如 postId=8452 ),我会搜索所有带有 commentId(这将是主键)的帖子,位于 845200 和 845299 之间..而不是搜索带有 postId=8452 的所有评论..(当然,这将评论的最大数量限制为 100)。但这会带来任何性能提升吗?

最佳答案

这就是你要做的。加载具有代表性数据的数据库,其大小(例如)是您预期的两倍。

然后运行您的查询并针对两个版本的架构测试它们。

然后,这是个好消息,每 X 周使用新的最新数据重新测试一次,以确保情况没有改变。

这就是 DBA 的意义所在。除非您的数据永远不会改变,否则数据库优化不是一劳永逸的操作。唯一可以确定的方法是在代表性条件下进行测试。

其他一切都是猜测。有根据的猜测,不要误会我的意思,但我宁愿有一个确定性的答案,而不是任何人的猜测,尤其是因为前者会适应变化。

我最喜欢的优化格言是“测量,不要猜测!”

关于mysql - 哪个性能更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4539259/

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