不良 SQL导致系统性能低下的一个实际案例
从数据库中抓出的 SQL发现:1. 很多页面过度的循环执行SQL ,这个在用户检索页面非常明显,一个按钮要运行140多次 SQL查询,其实这些都可以由几个简单的 SQL组合完成
2. SQL的结构很奇怪,有点像程序自动生成
3. SQL仍然没有使用绑定变量,系统存在大量的 SQL硬解析
下面是没有使用绑定变量的SQL ,SQL绑定一定要做上去,否则 WEB系统再怎么调整也是不行的
SELECT * FROM (SELECT A.*, rownum r FROM (SELECT a.USERID, a.USERNAME FROM USERS a WHERE 1 = 1 AND a.ORGID = 636.0 AND a.SEX = 'F' AND a.ORGID =:1 and
a.USERROLE='3') A WHERE rownum <= 500) B WHERE r > = 0;
这里 a.ORGID = 636.0指没有采取绑定变量。
[ 本帖最后由 liangjz 于 2008-6-2 01:32 编辑 ] 这里 a.ORGID = 636.0指绑定变量还是没有绑定变量啊 a.ORGID = 636.0
我怎么感觉是绑定变量的??? a.ORGID =:1 这种是采取绑定变量 什么叫绑定变量?
dream2009
对于程序而言,获得数据的方式可以有很多种,但能够分析出可以重用不易变的数据是重要的,我也发现过,要获得数据时,就下SQL,这个时候用一下缓存方式就可以节省很多的数据库的交互了
页:
[1]