gpt4 book ai didi

php - 2关于更好优化数据库设计的问题

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

1)在mysql引擎中,MyISAM更好还是InnoDB?

2)我想编写一个CMS,它可以添加具有多类别的帖子我必须如何设计数据库才能通过一些查询获得更好的性能?

在 php 中如何列出帖子,例如类别 = 1 ?

谢谢

最佳答案

1) 如果您需要数据库级别的外键关系,请使用 InnoDB,否则使用 MyISAM

2)您可以将所有类别存储在一个具有类似架构的表中

create table categories (
Category_ID int NOT NULL,
ParentCategory_ID int NOT NULL default 0,
CategoryName varchar(150)
);

使用 Category_ID 主键

3)

$sql = select * from posts where category_id = 1;
mysql_query($sql);

编辑:帖子表的架构(示例)

create table posts (
Post_ID int NOT NULL,
Category_IDs varchar(50) NOT NULL,
POSTDescription varchar(1000),
POSTTime int NOT NULL
)

Post_IDposts 表的主键。

请注意,如果您的帖子属于类别 1,2 和 3,则 Category_ID 现在是 varchar 存储类别的值,例如 1,2,3。删除属于类别 1 的所有帖子,您将运行以下查询

$sql = DELETE
FROM `posts`
WHERE FIND_IN_SET( '1', `Category_IDs` ) >0;

关于php - 2关于更好优化数据库设计的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5675916/

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