gpt4 book ai didi

mysql - 一个包含很多项目的数据库与许多动态创建的数据库

转载 作者:可可西里 更新时间:2023-11-01 08:53:19 24 4
gpt4 key购买 nike

我是 MySQL 新手。

我正在使用 MySQL 创建一些 Web 服务,但我不确定使用数据库的最佳方式是什么。

一个是一个数据库,它有很多项目并且不断地进行行后续查询。另一个是动态创建数据库。

数据库由每个用户的一些问题组成,问题的数量不固定。

最佳答案

在数据库中动态创建新表是一个 well known antipattern .

一方面,它实际上使编码变得更加困难,因为您需要在查询中满足动态表名。

其次,可能更重要的是,它可能对数据库性能造成极大的损害。根据您使用的存储引擎,每当您查询一个表时,MySQL 需要在磁盘上打开 1 (InnoDB) 到 3 (MyISAM) 个文件。当您需要在短时间内查询许多表时,这会给您的文件系统带来很大压力。

另一方面,如果你的所有数据都在一个表中,当你第一次查询它时,MySQL 会尝试将它加载到内存中,并且所有后续读取都将使用内存访问而不是磁盘访问,这让事情变得更快。

关于mysql - 一个包含很多项目的数据库与许多动态创建的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9272527/

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