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 )
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 )
相关文章推荐
- oracle 分析函数
- Jmeter之JDBC Request使用方法(oracle)
- oracle 创建dblink
- 【原创】Oracle实现PGSQL的generate_series
- Oracle实现POSTGRESQL的generate_series功能
- Oracle在更改机器名后服务无法启动的解决方法
- 甲骨文为树莓派版(ARM)Java提供支持
- Oracle之SQL基础--约束
- oracle db_link的使用说明
- plsql 远程访问Oracle报错
- Oracle中如何获取系统当前时间
- Oracle数据导入导出图解(图文并茂)
- 在Linux下编译proc程序报错:fcc-f-02104 unable to connect to oracle
- oracle常用语句
- 在Oracle里,表的别名不用as,
- timestamp在DB2和Oracle
- [Oracle]常用日期取值方法
- oracle数据库中按机构抽取2条邮件的SQL写法
- Oracle逻辑迁移某业务用户及数据
- 实例: Java代码操作oracle数据库(JDBC+sevrlet+jsp+html)