首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >约束唯一键有很多字段会影响MySQL的性能吗?

约束唯一键有很多字段会影响MySQL的性能吗?
EN

Stack Overflow用户
提问于 2019-08-31 23:17:15
回答 1查看 71关注 0票数 2

我们计划在生产环境中创建一个如下所示的表,但考虑到如果我们在MySQL中创建一个包含大量字段的约束键,会对存储和查询/插入/更新性能产生什么影响:

代码语言:javascript
运行
复制
create table table_name
(
    f1  int null,
    f2  int null,
    f3  int null,
    f4  int null,
    f5  int null,
    f6  int null,
    f7  int null,
    f8  int null,
    f9  int null,
    f10 int null,
    f11 int null,
    f12 int null,
    f13 int null,
    f14 int null,
    f15 int null,
    f16 int null,
    f17 int null,
    f18 int null,
    f19 int null,
    f20 int null,

    v1 int null,
    v2 int null,
    v3 int null,

    constraint update_key unique (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10,
                                  f11, f12, f13, f14, f15, f16, f17, f18, f19, f20);

并使用SQL插入行,如下所示:

代码语言:javascript
运行
复制
insert into table_name (f1,....f20, v1, v2, v3)
        values (values ...)
        on duplicate key update
              v1=v1+values(v1),
              v2=v2+values(v2),
              v3=v3+values(v3);

有人能给我们一些建议吗?

EN

Stack Overflow用户

回答已采纳

发布于 2019-09-01 00:11:54

表中的索引增加了INSERT/UPDATE/DELETE语句的一些开销。

20列的索引并不比1列的索引差。或者至少,性能上的差异足够小,您不应该因为它而改变您的设计。

打个比方:你妈妈让你去商店买东西。你必须穿上你的鞋子,坐公交车去商店,收集杂货,排队付款,坐公交车回家,把杂货放在冰箱里。如果她要1件或2件或20件,这很重要吗?确实,背包有点重,但旅行的时间并没有改变。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57739231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档