gpt4 book ai didi

MySQL 数据库规范化

转载 作者:行者123 更新时间:2023-11-29 05:24:32 26 4
gpt4 key购买 nike

我有一个包含 10 万行的表数据库。大约有 30 列,其中 28 列是 varchars/tiny text,其中一列是 int 主键,其中一列是 blob。

我的问题是,就性能而言,将 blob 与表的其余部分分开并将它们存储在自己的表中并且外键约束为主 ID 会更好吗?

该表最终将变成一个 iOS 核心数据的 sqlite 持久存储,并且许多搜索/过滤将基于 NSPredicate 为较轻的 varchar 列完成。

抱歉,如果这太主观了,但我认为有一个推荐的方法。

谢谢!

最佳答案

如果您执行 SELECT * FROM table(如果您实际上不需要 BLOB 字段,则不应该这样做)那么是的,查询会更快,因为在这种情况下,带有 BLOB 的页面会'被感动。

如果您经常执行 SELECT f1, f2, f3 FROM table(所有字段都是非 BLOB)那么是的,将 BLOBS 存储在单独的表中将使查询更快,原因相同 - MySQL 将不得不读取更少的页面。

但是,如果经常选择 BLOB,那么将其分开保存就没有意义。

关于MySQL 数据库规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21761790/

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