/*
问题描述:
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万条
*/
问题描述:
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万条
*/
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语句改这样试试,效率应该高很多。
第二个sql是把xyf_user_area数据 load到本地数据库后再进行筛选。
(select bill_id from tbl_xxxx1 t1);
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;效果一样,用join,exists,any(...),都试过了,效果都一样