首页 / MYSQL / MySQL文本字段和内存使用
MySQL文本字段和内存使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL文本字段和内存使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1246字,纯文字阅读大概需要2分钟。
内容图文
![MySQL文本字段和内存使用](/upload/InfoBanner/zyjiaocheng/902/2714966c17be4976817837fdf7bbeb8f.jpg)
我正在开发一个应用程序,允许用户动态地向Web表单添加问题.我们使用MySQL作为后端,我正在尝试找到存储表单数据的最快,最有效的方法.
以前,我们将数据存储在每个表单部分的单独表中.这些列是根据允许我们将动态问题映射到其存储位置的系统命名的.缺点是存储映射系统设计糟糕,这使得使用现有数据修改表单成为一场噩梦.此外,MySQL对每行内存的限制限制了我们每节可能遇到的问题数量.
因此,我正在考虑使用单个表来包含所有表单数据.由于允许使用论文问题,我正在考虑使用Text或MediumText作为实际数据的字段类型.但是,我担心运行查询时的RAM使用情况.当我运行数据查询时,MySQL是否足够聪明,只能分配字段中数据所需的内存(即使它是一个小整数),还是会分配MediumText字段允许的全部数量?
此外,对于像这样存储动态数据库的数据,有没有更好的方法可以考虑?
艾米
解决方法:
是的,当您创建用于存储这些大文本字段的表对象时,请尝试在表中使用压缩.如果您启用了InnoDB插件,这听起来非常合适.
http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-compression-tuning-when-data.html
http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-compression-usage.html
您的答案的简单表定义可能是这样的:
CREATE TABLE test_answers (
answer_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
test_id INT UNSIGNED,
question_id INT UNSIGNED,
answer_body TEXT,
PRIMARY KEY(answer_id, question_id)
) ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=4;
内容总结
以上是互联网集市为您收集整理的MySQL文本字段和内存使用全部内容,希望文章能够帮你解决MySQL文本字段和内存使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。