gpt4 book ai didi

mysql - Text在Mysql中有行限制吗?

转载 作者:行者123 更新时间:2023-11-30 23:06:58 25 4
gpt4 key购买 nike

What is the MySQL VARCHAR max size?

我在 stackoverflow 上搜索了有关 varchar 与 text 的内容,并研究了文档。

我不确定我是否理解正确,但让我问你这个问题。我有 Mysql 版本 5.5.34 是的,最大 varchar 大小是 65535 字节,我网站上的文本内容不能超过 600 个字符,我更喜欢使用 varchar(600) 而不是 Text

由于 varchar 与表内联存储并且速度更快,而且当我阅读问题的所有答案时。

rajukoyilandy 回答

varchar 有 64K 行限制

暗黑破坏神答案

如果您的行大小接近 64K,您可能需要检查数据库的架构。在正确设置的 (3NF) 数据库中,很少有需要这么宽的表 - 这是可能的,只是不太常见。

如果要使用更多,可以使用 BLOB 或 TEXT 类型。这些不计入行的 64K 限制

所以我决定使用Text

http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html

当我在最上面看到这个文档时,它说

 Every table (regardless of storage engine) has maximum row size of 65,535 bytes.
Storage engines may place additional constraints on this limit,
reducing the effective maximum row size

我的问题是,那么无论您使用 Text 还是 Varchar,行限制都是 65kb?或者如果您使用 Text 则没有行限制?非常感谢任何帮助。

最佳答案

http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html

BLOB and TEXT columns count from one to four plus eight bytes each toward the row-size limit because their contents are stored separately from the rest of the row.

所以是的,无论您使用什么,行限制都是 65KB,但是由于 BLOB 和 TEXT 类型是分开存储的,因此内容的长度不计入行大小,只是初始 一到四加八 字节做。

这就是为什么您可以使用 LONGBLOB LONGTEXT 来存储大文件,并且仍然能够在一个表中拥有不止一个 LONGBLOB/LONGTEXT 列。

至于 VARCHAR(600) 与 TEXT 哪个更好,对于 VARCHAR,您每列将占用 1802 个字节,因此在行限制方面您仍有很多空间可以使用。但是为了性能你必须做基准测试为this comment points out如果在您的查询中经常使用内联存储,它会更快。

关于mysql - Text在Mysql中有行限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472383/

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