liangjz 发表于 2008-3-1 00:20:01

不良 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 编辑 ]

wzw1982 发表于 2008-6-2 01:02:47

这里 a.ORGID = 636.0指绑定变量还是没有绑定变量啊

fpbaggio 发表于 2008-6-3 11:02:04

a.ORGID = 636.0

我怎么感觉是绑定变量的???

liangjz 发表于 2008-6-3 12:58:51

a.ORGID =:1 这种是采取绑定变量

hhy0824 发表于 2008-6-10 13:47:07

什么叫绑定变量?

dream2009 发表于 2009-2-14 19:52:25

dream2009

对于程序而言,获得数据的方式可以有很多种,但能够分析出可以重用不易变的数据是重要的,我也发现过,要获得数据时,就下SQL,这个时候用一下缓存方式就可以节省很多的数据库的交互了
页: [1]
查看完整版本: 不良 SQL导致系统性能低下的一个实际案例