MySQL重复大文本保存

标签 mysql

我想在我的游戏服务器上使用 MySQL 向多个用户发送消息。 在此过程中,多个重复的字符串(MediumText,100~500个字符)数据将保存在同一列中。

预计有 10 万用户收到邮件。

示例(CSV 格式):

ID,Item,Content,(SentDate,Expdate)
123148223598230,"{Crystal:100}","Sorry for the inconvenience...blahblah"
133124124515435,"{Crystal:100}","Sorry for the inconvenience...blahblah"
348209385093285,"{Crystal:100}","Sorry for the inconvenience...blahblah"
209580293509233,"{Crystal:100}","Sorry for the inconvenience...blahblah"
...

1.. 问题是,MySQL 是否足够聪明,能够检测到这些重复值并“有效”存储数据,仅存储一次重复值?

2.a。如果是这样,我该如何让 MySQL 完成这个任务?(或者,它会自动完成这个任务吗?)

2.b.如果没有,您会推荐什么突破?

文本值的新表?或者只是将数据存储在数据库上?

最佳答案

MySQL 不会自动检测您的注释栏中是否有重复的文本。如果您预计评论之间会有大量重复,您可以尝试通过创建一个仅包含评论的新表来标准化数据。然后,在当前表中,将注释替换为指向此新表的外键。

MySQL 的 ENUM 类型也可能在这里需要考虑,但如果有许多独特的注释,使用真正的单独表可能会更干净。

关于MySQL重复大文本保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48220211/

相关文章:

php - MYSQL拉取自增值

php - 添加 mysql 后 ical feed 不起作用

PHP 和 MySQL 最佳实践——为管理员和用户创建不同的 View

MySQL——让所有的事情都变成一个查询

mysql - CURDATE() 导致语法错误

python - 我如何在pyqt中创建一个搜索栏

php - 如何编写查询来匹配所有表?

python - 使用python限制电子邮件的速率

php - 从 PHP 向 MySQL 插入 BLOB 数据时,我看不到准确的数据类型

python - 事务甚至在 SELECT 上开始吗?