您的位置:首页 > 数据库 > Oracle

oracle多表查询优化

2015-12-09 14:40 603 查看
用select 时,少用* 多用字段

select name,code from table, ;-------------------select * from table

select  count(*) from table1 ,tabale2--------------table2的记录数比table1的记录少,查询速度快

如果要是三张表,其中一个是中间表的话,中间表放在最右边,

少用in,多用exsits

、少用in,多用exists来代替

--NO.1  IN的写法
SELECT * FROM TABLEA A WHERE
A.ID IN (SELECT ID FORM TABLEB B WHERE B.ID>1)

--NO.2 exists 写法
SELECT * FROM TABLEA A WHERE
EXISTS (SELECT 1 FROM TABLEB B WHERE A.ID=B.ID AND B.ID>1)

select * from t_c04_county  a where exists (select 1 from t_c03_city b where a.ys_city_code=b.ys_city_code ) 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: