优化MySQL BLOB的使用
2013-03-04 13:24
211 查看
用large BLOB存储文本数据,首先考虑压缩。但不要用这项技术当整表被InnoDB/MyISAM压缩。
多列表,不用BLOB列可以减少查询对内存的请求,考虑将BLOB列独立成另一张表,当需要查询时再引用它。
检索和展示BLOB的性能要求不同于其他数据类型,可以将有BLOB列的表存储到不同的存储设备上甚或单独的数据库实例。比如,检索BLOB需要更大的磁盘顺序读,而这更加适合用传统硬件而不是SSD设备存储。
在一些情况下,可以考虑用VARCHAR替代BLOB
为了避免跟BLOB列的长文本内容进行比较,可以利用MD5()或CRC32()计算其hash值并存入另一列,在查询中比较其hash值。如果hash值有重复,你依旧需要比较 BLOB列内容保证查询的正确,上述做法在为hash值更快更小的扫描索引时获得性能收益。
多列表,不用BLOB列可以减少查询对内存的请求,考虑将BLOB列独立成另一张表,当需要查询时再引用它。
检索和展示BLOB的性能要求不同于其他数据类型,可以将有BLOB列的表存储到不同的存储设备上甚或单独的数据库实例。比如,检索BLOB需要更大的磁盘顺序读,而这更加适合用传统硬件而不是SSD设备存储。
在一些情况下,可以考虑用VARCHAR替代BLOB
为了避免跟BLOB列的长文本内容进行比较,可以利用MD5()或CRC32()计算其hash值并存入另一列,在查询中比较其hash值。如果hash值有重复,你依旧需要比较 BLOB列内容保证查询的正确,上述做法在为hash值更快更小的扫描索引时获得性能收益。
相关文章推荐
- JMS-使用消息队列优化网站性能
- 数据库SQLite 数据大量存储 和快速读取 链表查询的优化 使用gosn
- JAVA NIO高效处理优化 -- 使用EPoll
- Android 性能优化:使用 Lint 优化代码、去除多余资源
- 如何使用dispatch_once优化代码性能
- (译)如何优化cocos2d程序的内存使用和程序大小:第一部分
- 【代码优化】坚持使用Override注解
- SqlServer 数据库 引擎优化使用(六)
- 优化SQL HINT使用
- Android使用缓存优化ListView
- [Android] Android开发优化之——使用软引用和弱引用
- 详解使用vue-admin-template的优化历程
- android UI进阶之布局的优化---使用include和merge
- SQL Server 查询优化(3)_索引的设计与使用
- Android Sqlite的使用(多线程优化)
- Windows XP 优化设置注册文件集合(共80项,请谨慎使用)
- lucene使用与优化
- 一个500人使用的后台服务站点优化过程
- Android-ListView适配器BaseAdapter的使用和优化
- 对SEO网站优化使用技巧的总结