关于大容量数据的分类:
在MySQL数据库中,对于大容量的“字符”数据类型使用的是TEXT系列类型,该系列具体类型为如下四种:
TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
对于大容量的“字节”数据类型使用的是BLOB系列类型,该系列具体类型为如下四种:
TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
如何对大容量数据进行操作:
⑴ 如果是使用JDBC将大容量数据存入MySQL数据库中,使用的是PreparedStatement对象,在替代占位符的部分,应该是使用
setCharacterStream( index , reader , length) 对于大容量字符类型
setBinaryStream( index, inputStream, length) 对于大容量字节类型
⑵ 如果是使用JDBC将大容量数据读取MySQL数据库中,使用的是结果集ResultSet对象,当判断ResultSet的next()方法发现结果集有内容时,对内容处理的方法过程中,使用
reader = resultSet.getCharacterStream(int columnIndex) 对于大容量字符类型
或者reader = resultSet.getCharacterStream(String columnLabel) 对于大容量字符类型
inputStream = resultSet.getBinaryStream(int columnIndex) 对于大容量字节类型
或者inputStream = resultSet.getBinaryStream(String columnLabel) 对于大容量字节类型
实际开发对大容量数据的处理:
因为对大容量数据的操作会占用数据库链接很大的时间,而数据库链接又是非常宝贵的,其次大容量数据也会对数据库存储容量造成极大的资源浪费。所以在一般开发中都以上传与下载方式在硬盘中存储一个大数据容量的文件。