JDBC执行sql慢的问题
来源:互联网 发布:服务器ddos防护软件 编辑:程序博客网 时间:2024/05/05 22:16
今天发现JDBC的一个怪问题。
同样的sql,在mysql客户端中执行只要0.6、7秒,但是在JDBC中执行却要十二三分钟!这差距也太大了!而且只是其中一张表如此,查看表结构,很正常,没有索引,连主键都没有,就只有字段,字段类型也没有BLOB、CLOB之类的大数据类型,和其他表相比,字段数量也差不错。那就奇怪了,虽说JDBC是要慢些,但是不至于差别几百倍吧。再对比sql,唯一不同的就是这个慢的sql中使用了大量的convert函数,难道是这个原因?把函数去掉,果然速度提升起来了,和其他表一样快了!由于插入该表需要把中文改成GBK编码,因而使用了大量的CONVERT函数,而且数据量上万,导致使用JDBC执行超级慢。至于为何如此,那就不太清楚原因了,后面再研究下,或者有高手指点下就更好。
那怎么解决这个问题呢?很简单,在执行sql的preparedStatement中有个设置编码的方法:preparedStatement.setBytes,把占位符的数据用getBytes(Charset)转换编码后设进去即可,如:
1
preparedStatement.setBytes(
1
, valeue.getBytes(Charset.forName(
"GBK"
)));
//其中1为对应的占位符位置
0 0
- JDBC执行sql慢的问题
- sonar执行慢的问题
- JDBC打印执行的sql
- SQLServer找出执行慢的SQL语句
- SQLServer找出执行慢的SQL语句
- SQLServer找出执行慢的SQL语句
- 如何找出执行最慢的SQL
- SQLServer找出执行慢的SQL语句
- Oracle 查询每天执行慢的SQL
- SQLServer找出执行慢的SQL语句
- 最近执行较慢的SQL
- jdbc执行的性能问题
- hawq执行慢sql
- 20150804客户sqlserver库查询sql执行慢的问题分析
- Spring JDBC 执行sql并下载执行sql的数据
- 如何用sql profile 找出执行慢的sql
- Jdbc执行sql语句
- JDBC批量执行sql
- C++的一些关键字
- 【Linux】JDK+Eclipse 搭建C/C++开发环境
- JSTL(fn函数)
- mahout的安装与配置
- Excel批量导入表结构到power designer
- JDBC执行sql慢的问题
- 如何在pl/sql developer 7运行到oracle存储过程设置断点的地方
- 进步,无止步。
- 【Android开发】如何实现android和服务器长连接呢?推送消息的原理
- 2014年企业移动混合型APP开发战略
- Java初始化详解
- Linux中环境变量文件及配置
- Ubuntu 64位系统执行32位程序
- 第一篇Android博文