gpt4 book ai didi

Mysql 使用 CHAR 或 BLOB 存储已知字节大小限制的 UTF-8 字符串

转载 作者:行者123 更新时间:2023-11-29 16:53:52 24 4
gpt4 key购买 nike

我想将 UTF-8 字符串存储在 Mysql/MariaDB 列中。由于每列字符数的限制,我无法使用 VARCHAR。我已经远远超出了这个限度。

我知道包含最大 UTF-8 字符串的最大字节数。使用 CHAR 或 TEXT 读取出现的文档将为每个字符分配 3 个字节(对于 UTF8MB4 为 4 个字节)。因为我知道实际大小,如果我将字符串存储在 BLOB 中,它会起作用吗?这会起作用吗?此方法有任何已知问题吗?

我将 MariaDB 与 InnoDB 和 UTF8MB4 结合使用。

最佳答案

MEDIUMTEXT 可以处理 1600 万个字节(至少 400 万个 utf8mb4 字符)。这样就够了吗?

MEDIUMBLOB 还可以处理 1600 万字节。

字符使用CHARTEXT的变体。这可以让您检查编码、比较、排序等。对于不需要操作的字节(例如图像),使用 BINARYBLOB 的变体。

考虑使用 FULLTEXT 索引来高效搜索 TEXT 列中的特定单词LIKEMID() 等也适用于大型 TEXT 列,但不一定高效。

您的问题对于您想要做的事情不准确。如果我没有给您足够的线索,请详细说明您的数据和查询需求。

关于Mysql 使用 CHAR 或 BLOB 存储已知字节大小限制的 UTF-8 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52678050/

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