+ -
当前位置:首页 → 问答吧 → 求这两个SQL语句的不同执行原理

求这两个SQL语句的不同执行原理

时间:2011-11-18

来源:互联网

/*
问题描述:
PLSQL在@dbmaizhi用户下执行两条SQL语句,第一句顺利查出结果,第二句死锁在那里不动。
PLSQL在@do10 用户下执行两条SQL语句,都能顺利执行查出结果。
*/

SELECT * FROM zcall.xyf_user_area@do10 t where t.bill_id in
('13819242619','18267287524');

SELECT t.* FROM zcall.xyf_user_area@do10 t where t.bill_id in 
(select bill_id from sl_sys.t_38_search_bill_ids@dbmaizhi t1);

/*
表sl_sys.t_38_search_bill_ids@dbmaizhi 就一个字段“bill_id”,数据就两条'13819242619','18267287524'
表zcall.xyf_user_area@do10 有字段“bill_id”和其他信息字段,“bill_id”建了索引,数据量一共35万条
*/

作者: suxujie   发布时间: 2011-11-18

执行时间复杂度是35万的平方,估计和需要一些时间吧。

作者: LuiseRADL   发布时间: 2011-11-18

执行时间复杂度!第一句和第二句,差异也太大了吧!

作者: cosio   发布时间: 2011-11-18

SQL code

SELECT t.* 
FROM zcall.xyf_user_area@do10 t,
     sl_sys.t_38_search_bill_ids@dbmaizhi t1 
where t.bill_id= t1.bill_id;


第二个SQL语句改这样试试,效率应该高很多。

作者: lisong770818   发布时间: 2011-11-18

热门下载

更多