gpt4 book ai didi

MYSQL本次查询的速度以及优化的表结构

转载 作者:行者123 更新时间:2023-11-29 14:56:18 25 4
gpt4 key购买 nike

我需要构建一个新的表系统,它将存储一个 id 和 10 varchars(255)每个 ID。这就是它需要存储的全部内容。除了仅对整行进行明显的插入/删除/更新之外,将运行的唯一其他查询是 SELECT * FROM table WHERE id='id' 。 700 万条记录。

我想出了两种结构,它们是:

(1) - 单表,id,然后 10 varchars ,没有连接,没什么花哨的,id是主键,简单select * .

(2) - 2 个表,第一个有 id,然后是 10 个整数元素,第二个有 integer(auto increment)varchars 。这将使用联接。因此,我猜测每个查询有 10 个连接。

显然,作为正式结构以及以后的表结构更改,2 更好,但是,就单独查询的速度而言,哪个更好?

最佳答案

如果您始终存储恰好 10 VARCHAR 字段,并且每个 VARCHAR 都有自己的含义(就像它始终是一个名称,或者始终地址等),然后只需创建一个包含 10 字段的表。

您的第二个解决方案称为EAV(实体属性值),它主要用于稀疏矩阵(当您有很多可能的属性,但为给定实体设置的属性很少时) )。它具有可扩展性和可维护性,但对于像您这样的查询来说效率会较低。

关于MYSQL本次查询的速度以及优化的表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4538803/

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