使用 SQL 索引的长值对性能的影响

Perfomance impact using long values for SQL index

提问人:Oleksandr Onopriienko 提问时间:6/19/2023 更新时间:6/20/2023 访问量:33

问:

例如:我有表 -

table User (id (bigint(20) 主键, session_id (bigint(20), key(varchar(24) )

该表中有一个唯一的索引,包括 session_id(bigint(20)) 和 key(varchar(24) ) 列。

如果我将“key”列更改为 varchar(255)(对此列使用长值),因为它是唯一索引的一部分,是否会对系统性能产生影响?

我正在使用 Mysql 数据库 (AWS Aurora)。

SQL MySQL 索引 数据库性能 SQL性能

评论

0赞 nbk 6/19/2023
我认为帽子的影响不会那么大,但请自己尝试一下

答:

1赞 Rick James 6/20/2023 #1

简短的回答:对性能没有重大影响。

长答案:

  • 是一个索引;两者都是.(也就是说,不要创建冗余索引。PRIMARY KEYUNIQUEINDEXes
  • 索引中 a 的影响主要基于实际字符串的平均长度。最大长度无关紧要(除非它达到某个限制,例如 3072 字节)。VARCUAR
  • 触及的行数是影响性能的最大因素。索引有助于最大程度地减少这种情况。