数据库中查询如何提高执行效率??(不能用存储过程) 我是专门做数据库提数据的,在数据库中没有权限写存储过程,怎么在select 语句中来提高SQL的执行效率??如何优化??一般要进行至少三个表的连接查询!有没有一些经验可以介绍一下!先谢谢各位大虾啦!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在适当的字段上建立索引。你参考一下http://blog.csdn.net/octverve/archive/2008/01/11/2037046.aspx中关于索引的部分。 估计建索引的权限也没有这个话题比较笼统一般配来说select 具体字段(尽可能不要用*)from 表 顺序大表,小表where 顺序 过滤数据越多的放在越下面,尽可能用索引字段,如果能用exist 就别用in(一般情况下),no in 也一样对于 not null之类的也尽量避免用对于有比较的 >=的效果要比>好 比如说>=2 要比>1效果好order by 尽可能用索引字段 一般配来说 应为 一般来说 输入法带的联想,一不小心就多打字了写好sql后。如果有条件,可以看下执行计划,尽可能避免全表扫描 sql全用大写的,小写执行的时候也是转化成大写再执行的。节约点转化时间 索引,主键,表空间。必要的时候要强制使用索引。可通过PLSQL Developer 中做执行计划分析。 procedure参数如何传递 请教:关于字段数量对于查询效率的影响 求一个SQL语句,很急 Oracle单表的最大存储条数可以达到多少? 数据统计,涉及日期问题,请教! function中使用select 查找记录,结果为空时报错?? 这样的外联接oracle8i中怎样实现呢? 数据导入时序列号问题 为什么在win2000 server上不能安装ORACLE9I?? MSTR可否如下报表 oracle exp/imp问题 外表加载去空格的问题
一般配来说
select 具体字段(尽可能不要用*)from 表 顺序大表,小表where 顺序 过滤数据越多的放在越下面,尽可能用索引字段,如果能用exist 就别用in(一般情况下),no in 也一样
对于 not null之类的也尽量避免用
对于有比较的 >=的效果要比>好 比如说>=2 要比>1效果好
order by 尽可能用索引字段
写好sql后。如果有条件,可以看下执行计划,尽可能避免全表扫描
节约点转化时间
可通过PLSQL Developer 中做执行计划分析。