gpt4 book ai didi

sql - DB 记录属性的整数与字符与 Wordpress 架构

转载 作者:行者123 更新时间:2023-11-29 09:14:18 25 4
gpt4 key购买 nike

我之前问过类似的问题( integer-vs-char-for-db-record-property ),但偶然发现了一些与我在上一篇文章中收到的所有建议相悖的内容。在最流行、最成熟的开源博客脚本Wordpress 3中,帖子状态存储为VARCHAR(20)在数据库中 - '发布'、'自动草稿'、'继承'、'待定'等,而不是 INT使用查找表或映射的字符串常量,或 CHAR ,或类似的东西。这也适用于字段 post_type (“帖子”、“附件”、“修订”等)和一些其他字段。因此,要查找所有已发布的帖子,我需要运行类似 SELECT * FROM posts WHERE post_status = 'published' AND post_type = 'post' 的命令。此外,post_status、post_type 和其他一些列上有一个多列索引,这肯定会加快此类搜索的速度。有人可以解释为什么他们这样做而不是其他,以及这种方法的优点和缺点是什么?

最佳答案

仅仅因为某些应用程序众所周知并不意味着它们有良好的数据库设计。这往往违反规范化规则。也许他们获得了更好的表现,也许他们在选择这个时没有考虑其他可能性,因为他们不知道更好。也许他们是应用程序程序员,在没有很好地理解数据库理论的情况下设计数据库,或者可能是故意用性能统计数据来支持它的去规范化。或者,当我们决定将值从“已发布”更改为其他内容时,他们可能没有想到必须更新 1 亿条记录的可能性。也许他们只测试了选择的性能,而不测试更新的性能。也许这些值本质上不太可能改变,所以非规范化并不是什么大问题。我们无法从这里知道。

关于sql - DB 记录属性的整数与字符与 Wordpress 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4607625/

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