2008年8月26日星期二

读取CLOB字段

今天碰见读取CLOB问题,主要是展示的速度比较慢,查了一下Kris的博客,请点击这里
发现他对两种CLOB读取方法的比较很详细:
// 方法1
int read = 80; // only need the first 80 to show
start = System.currentTimeMillis();
s = lob.getSubString(1, read);
long s1 = System.currentTimeMillis() - start;

// 方法2
start = System.currentTimeMillis();
char[] cbuf = new char[read];
lob.getCharacterStream().read(cbuf);
long s2 = System.currentTimeMillis() - start;

比较的结果是方法一快一些,用时大概是方法二的一半左右。
另外,使用方法一,可以在AJAX里慢慢读数据,一次读取一定长度的字节,然后在页面缓存,这样的话应该可以加速LOB数据的展示。
还有看看BLOB怎么处理更好一些。

没有评论: