某银行做校园卡缴费的测试过程中,发现成功缴费时间很长,大约需要75秒左右,原因分析:在做校园卡缴费的时候,首先是从数据库中查询到需要缴费的费项,然后再对该费项进行缴费,缴费成功后修改相应的状态,交易完成后,查看日志,发现下面的查询语句执行时间很长,在数据库中执行时间大约33.782 secs.秒
低效SQL(耗时:33.782 secs.):
| 代码如下 | 复制代码 |
|
SELECT DISTINCT hmc.bjbh, AND hmc.shyj = '1' ---www.111com.net |
|
优化方案一(耗时:6.485 secs.):
| 代码如下 | 复制代码 |
| SELECT DISTINCT hmc.bjbh, hmc.pxjgid, hmc.bjmc, csb.tjxbt, hmc.pxlx, hmc.bjrs, hmc.bjsfjs, csb.xzqhdm, hmc.shyj, hmc.kbrq FROM px_bjhmc hmc, ldlsc_xtcsb csb, px_xyhmc c WHERE hmc.pxjgid = csb.dwbh AND hmc.pxjgid = c.pxjgid AND csb.dwbh = c.pxjgid ----在这里 AND hmc.shyj = '1' AND hmc.bjsfjs = '1' AND c.pxsfjs = '1' AND hmc.jyrq >= '20130505000000' AND hmc.jyrq <= '20140102235959' AND hmc.pxjgid = '00000000000020' |
|
低效SQL(耗时:33.782 secs.):
| 代码如下 | 复制代码 |
|
SELECT DISTINCT hmc.bjbh, |
|
优化方案二(耗时:0.031 secs.):
| 代码如下 | 复制代码 |
|
AND hmc.jyrq >= '20130505000000' |
|
•多表同时关联:a.id = b.id, a.id = c.id, b.id = c.id;
•多表联接查询时,联少不联多,避免笛卡尔积操作;
•当一个表仅作为检索条件时,避免联接查询,多数情况下用Exists语句进行优化;
《黎明杀机》开发商正开发新的《Serious Sam》游戏 由Devolver发行
超英派遣中心即将登陆Xbox Play Anywhere 深入了解这款独特而备受喜爱的冒险游戏
在《Hunter: The Reckoning – Deathwish》中怎么从猎物蜕变为猎手
《The Expanse: Osiris Reborn》——深入了解玩法 新同伴 封闭测试及发行窗口
Alien Deathstorm 科幻生存与动作结合 打造全新第一人称恐怖混合体验
宝可梦公司已在考虑未来可用口袋妖怪总数达到“或许一万只”
幸存者村庄2
怪可爱的店折相思菜单
怪可爱的店折相思菜单是一款画风治愈的模拟经营佳作,内置折相思菜单解锁多项便利功能
lol电竞经理人手游
lol电竞经理人手游让你可以成为职业的电竞经理人,在游戏中掌控游戏的走向!豪华阵
梦幻奶茶屋小游戏
梦幻奶茶屋是一款主打温馨治愈氛围的休闲经营作品,玩家将化身元气满满的奶茶店店长,
萌宠养成物语无限金币版
萌宠养成物语无限金币版是一款治愈系模拟养成游戏,以可爱卡通画风构建温馨虚拟世界,