gpt4 book ai didi

mysql - 创建具有约 6 列复合键的表有何含义?

转载 作者:行者123 更新时间:2023-11-29 12:24:39 26 4
gpt4 key购买 nike

我正在创建一个表,该表将具有一个由大约 6 列组成的复合键。在某些查询中,我不会使用全部 6 列。如果我这样创建架构,性能是否会显着下降?

create table my_table (
id int not null,
col_1 char(30),
col_2 char(30),
col_3 char(30),
col_4 int(11),
col_5 int(11),
col_6 char(30),
CONSTRAINT constraint_name PRIMARY KEY (col_1,col_2,col_3,col_4,col_5,col_6)
);

// Example query that doesn't use all the columns
select * from my_table where col_1="hello" and col_2="world";

最佳答案

唯一显着的影响是索引将占用更多的磁盘和内存空间。

使用键前缀中的所有列的查询将能够利用索引。因此,使用 col_1col_2 的查询将被完全索引(索引被实现为 B 树或某种类似的结构)。但是使用 col_1col_3 的查询将仅使用索引来查找 col_1,但随后必须按顺序扫描所有这些行来测试col_3

关于mysql - 创建具有约 6 列复合键的表有何含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28510247/

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