gpt4 book ai didi

php - 存储列表 : in files or MySQL?

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:39 25 4
gpt4 key购买 nike

存储以下类型的列表通常是更好的方法:

array(
'category'=>array(
'key'=>'value',
'key'=>'value'
),
'category'=>array(
'key'=>'value',
'key'=>'value'
)
);

存储这些列表的更有效方法是 lists.php 文件还是 MySQL 中的序列化条目?

最佳答案

这取决于你的 mysql 表结构:

  • 如果您的表是NORMALIZED,那么序列化数据并存储它会破坏规范化。

但除此之外,为什么不创建两个表,一个存储类别,另一个存储引用该类别的键值对。

CREATE TABLE Categories (
CID INT,
***
PRIMARY KEY (CID)
)ENGINE=InnoDB;

CREATE TABLE KeyValues (
Category INT,
Key varchar(100),
Value varchar(100,
FOREIGN KEY Category REFERENCES Categories(CID)
)ENGINE=InnoDB;

并且您可以根据您的结构进一步规范化键值表。我没有故意选择主键,因为这取决于您是否正在对表进行规范化。添加自动增量主键也可以。

这样可以更轻松、更快速地选择数据。当您有序列化数据时,如果您需要进行某种计算,您首先需要在 PHP 端获取数据,将其反序列化并进行计算,您只需一个查询即可完成相同的操作。

关于php - 存储列表 : in files or MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14654897/

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