gpt4 book ai didi

php - MySQL 性能 : 2 Tables or 1 Table with a LONGTEXT type

转载 作者:行者123 更新时间:2023-11-29 02:57:12 25 4
gpt4 key购买 nike

我需要将数据存储在如下所示的表中:

$sql = "CREATE TABLE $table_name (
id int unsigned not null auto_increment,
type varchar(15) default '' not null,
name varchar(40) default '' not null,
folder varchar(25) default '' not null,
data mediumtext default '' not null,
shared_network bool,
owner int unsigned,
shared_label bool,
creator int unsigned,
thumbnail int unsigned,
PRIMARY KEY (id)
)$charset_collate;";

我的第一个问题是,因为 Data 值将是一个很大的值,将它分成两个表是否会更高效:1 有 IDData 和 1 以及其他所有内容?

其次,如果使用两个表的性能更高,那么哪个表的性能更高:运行两个查询,一个用于查找我需要的 ID,另一个用于获取 Data 那些 ID 的值。或者,ID 的外部联接(我需要所有值)。

最后,如果外连接是最好的方式,IDID 表上的 FOREIGN KEY >数据 还是表中包含其他所有内容的外键?

谢谢。

更新:

一个示例查询是:

SELECT * from $table_name WHERE
type='something'
AND shared_network=TRUE
AND shared_label=TRUE

最佳答案

对于这个查询:

SELECT *
from $table_name
WHERE type ='something' AND shared_network = TRUE AND shared_label = TRUE;

您可以在 table(type, shared_network, shared_label) 上创建索引。索引将满足 where 子句。其余工作是获取适当的行。有两个表没有任何优势。

关于php - MySQL 性能 : 2 Tables or 1 Table with a LONGTEXT type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29482536/

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