最近系统访问量有些大,公司的DBA总是找我进行sql优化。
由于要使用商品编号获取商品信息,传入的商品编号个数不一定,sqlserver建立的执行计划也会不一样,这样影响了执行效率。后发现可以使用parameterMap固定传入长度的字符串,这样sqlserver建立的执行计划就是一个了,提高执行效率。代码如下
<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="Account"
xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<alias>
<typeAlias alias="ContentObject" type="DaoProvider.ContentObject,DaoProvider"/>
</alias>
<statements>
<select id="GetWareSortByWids" parameterMap="Widsjoin" resultClass="Product">
</select>
</statements>
<parameterMaps>
<parameterMap id="Widsjoin" class="string">
<parameter property="value" dbtype="varchar" type="string" direction="Input" size="8000"/>
</parameterMap>
</parameterMaps>
</sqlMap>
经过测试改为此种之后减少数据库预编译的次数,有效的提高了sql的执行效率,执行效率至少提高30%。
本人亲自测试。
相关推荐
ibatis教程 输入参数详解 ibatis快速入门
在ibatis日志信息中打印SQL语句的方法(个人总结)
ibatis 开发指南 和 iBATIS-SqlMaps两本图书
通过java程序查看ibatis配置文件中的sql语句(注:无法查看变量值)
主要是关于oracle ibatis 的一些sql
[iBATIS]sql转换工具 简单哦~ 项目组自己写的哦~分享给大家了
iBatis最全的动态SQL语句,你需要的都有,资源在于大家共享
ibatis学习 ibatis总结 ibatis ibatis ibatis
ibatis2包和能显示执行的sql语句的ibatis2.jar 能够显示所执行的sql
ibatis的多参数查询.doc
ibatis sql生成器 部署成web app 支持多数据库。
ibatis16个常用sql语句
ibatis2.0+sqlserver2005环境搭建
基本思路就是找到ibatis执行sql的地方,截获sql并重新组装sql。通过分析ibatis源码知道,最终负责执行sql的类是 com.ibatis.sqlmap.engine.execution.SqlExecutor,此类没有实现任何接口,这多少有点遗憾,因为...
ibatis常用sql语句,简单易懂,方便查询,初学者宝典
sql语句中用问号代替参数
转ibatis动态sql - phoebus0501 - 博客园.mht
动态sql拼接
ibatis sql 语句的编写 ,包括增删改查,很简单 很实用 ,对初学者是很好的选择
ibatis常用的sql语句,很全的一篇文档。。。