数据库中数据量上千万级的,需要用到大字段blob 存储了大概4.5K的数据。前提是,不存储文件路径,必须把表中的数据存储到blob字段中。
当每次去查询此字段时,一个简单的sql语句都比较费时,当不查询此字段时,速度还是比较快的。
有什么好办法解决这个问题吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
查询的时候不查询该字段,利用主键来读取静态或者缓存缓存好的Blob大字段信息。
######查询的时候不查询该字段,利用主键来读取静态或者缓存缓存好的Blob大字段信息。
不太懂你的意思?主键查询是要把此大字段设置为主键?
######他的意思,是select的时候不要select *,先不要查询blob的字段。把数据读出来以后,再通过其他途径来读。
######新建张表关联外键 保存BLOB数据,lizy load的方式 在需要的时候 在读取
######
他的意思,是select的时候不要select *,先不要查询blob的字段。把数据读出来以后,再通过其他途径来读。
right。呵呵。
######PHP的PDO在处理BLOB的时候,如果某个BLOB太大,也会发生内存不足的问题。
有两种解决办法:
1、采用原生Oracle连接驱动,不过Oracle默认所有字段都大写,很不爽。
2、限制BLOB的表查询,可采用主信息一个表,BLOB存另外一个表,或者列表查询的时候不查询blob字段。
######PHP的PDO在处理BLOB的时候,如果某个BLOB太大,也会发生内存不足的问题。
有两种解决办法:
1、采用原生Oracle连接驱动,不过Oracle默认所有字段都大写,很不爽。
2、限制BLOB的表查询,可采用主信息一个表,BLOB存另外一个表,或者列表查询的时候不查询blob字段。
blob字段的值就是经常需要用到的存放的数据流
######在JDBC4.0中 对 BLOB 和 CLOB 功能做了增强
######新建张表关联外键 保存BLOB数据,lizy load的方式 在需要的时候 在读取
正解!
######PHP的PDO在处理BLOB的时候,如果某个BLOB太大,也会发生内存不足的问题。
有两种解决办法:
1、采用原生Oracle连接驱动,不过Oracle默认所有字段都大写,很不爽。
2、限制BLOB的表查询,可采用主信息一个表,BLOB存另外一个表,或者列表查询的时候不查询blob字段。
blob字段的值就是经常需要用到的存放的数据流
你的情况是批量查询还是单条数据查询?
如果仅仅是单条数据查询,blob并不会那么严重,是不是有其他相关的查询的导致费时的现象出现呢?