CSDN论坛 > Oracle > 基础和管理

请问:多个字段连接的语句如何优化? [问题点数:50分,结帖人imtiger]

Bbs2
本版专家分:355
结帖率 100%
CSDN今日推荐
Bbs9
本版专家分:67516
Blank
红花 2004年7月 Oracle大版内专家分月排行榜第一
2003年10月 Oracle大版内专家分月排行榜第一
Blank
黄花 2005年5月 Oracle大版内专家分月排行榜第二
2004年12月 Oracle大版内专家分月排行榜第二
2004年3月 Oracle大版内专家分月排行榜第二
2004年2月 Oracle大版内专家分月排行榜第二
2004年1月 Oracle大版内专家分月排行榜第二
2003年8月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2005年4月 Oracle大版内专家分月排行榜第三
2005年2月 Oracle大版内专家分月排行榜第三
2004年9月 Oracle大版内专家分月排行榜第三
2004年8月 Oracle大版内专家分月排行榜第三
2003年11月 Oracle大版内专家分月排行榜第三
2003年9月 Oracle大版内专家分月排行榜第三
Bbs7
本版专家分:27753
Blank
红花 2008年11月 Oracle大版内专家分月排行榜第一
Blank
黄花 2003年7月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2008年10月 Oracle大版内专家分月排行榜第三
2003年6月 Oracle大版内专家分月排行榜第三
Bbs7
本版专家分:27753
Blank
红花 2008年11月 Oracle大版内专家分月排行榜第一
Blank
黄花 2003年7月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2008年10月 Oracle大版内专家分月排行榜第三
2003年6月 Oracle大版内专家分月排行榜第三
Bbs1
本版专家分:74
Bbs3
本版专家分:795
匿名用户不能发表回复!
其他相关推荐
要提高SQL查询效率where语句条件的先后次序应如何写使你的SQL 语句完全优化
我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择
SQL语句中把多条记录同一字段的值连接成一个字符串显示结果集(sql stuff)
SELECT STUFF('abcdef', 2, 3, 'ijklmn'); 结果:aijklmndf。 1. if object_id('[tb]') is not null drop table [tb] go create table [tb]([Inv] int,[order] varchar(4)) insert [tb] select 10001,'P111' uni
使用Merge优化改写一个update语句
业务需求需要将错误数据进行整理,主要是针对于length(l.brchno) >= 4这部分数据,以下是一个UPDATE进行更新的操作。 源表有28万的数据量,符合条件的有54327条数据。UPDATE执行时间大概是一个半小时,使用Merge进行优化后执行时间是27秒 explain plan for update sif_member_load l set l.brchno =
MSSQL语句的性能调试(三)使用JOIN,ON条件的优化。
当SELECT数据的时候,有时候会JOIN超过2个表的。这个时候,如果JOIN的链接上写得不好,会有性能上的区别。这里简单以例子来说明一下。 在例子里,我介绍有3个表A,B和C,三个表里都有一个字段InvoiceID. InvoiceID 在A里是主键。 代码一: SELECT A.* FROM A INNER JOIN B ON B.invoiceId = A.invoiceI
sql嵌套查询优化
1.嵌套查询优化 优化前 SELECT q.id, q.title, q.question, q.person_name, q.department_name, r.response, r.create_time response_time FROM tb_ent_question q LEFT JOIN tb_ent_res
mysql通过将or改成union来优化sql性能问题一例
某系统测试环境有支SQL执行时间较长,开发人员请求dba协助优化。 原SQL如下: SELECT   g.id,           ----省略-----     FROM    g,             y,             t,             o    WHERE   g.ycon_id = y.id            AND t.ycon_id
对于sql语句or优化的一些看法
如果数据库有100万条数据,例如使用 select  *from   table   id=1 or id=2   查询会扫描全部数据速度效率表较慢, 如果用union和索引可以大大优化查询速度效率,上面语句改成 select *from table id=1 union select *from table id=2   如果id上有索引只会扫描id=1和id=2的数据,扫描100万条数据和2
关于用sql语句select多个字段,该使用什么接收的解决办法
使用sql执行查询后,尤其是在Hibernate框架中使用sql(此处不是Hql),如果select多个字段,那么查询出来的结果就是List,里面的结果需要拿Object数组接收,再一个一个set进对象里面。 就算select后面只有两个字段,接收的时候也不能用Map,会报类型转换异常。 然而,在hql里面,就会方便很多,直接select new XXXX,就可以用List接收。
mysql or语句的优化
在某些情况下,or条件可以避免全表扫描的。1 .where 语句里面如果带有or条件, myisam表能用到索引, innodb不行。 1)myisam表: CREATE TABLE IF NOT EXISTS a ( id int(1) NOT NULL AUTO_INCREMENT, uid int(11) NOT NULL, aNum char(20) DEFAULT
mysql or查询优化
上午朋友问我一条sql优化方案,因采用or全表扫描查询,导致查询速度过慢(2s多),问我有没有优化方案,具体sql如下: set @search = 'yd12015'; SELECT `pwd_flag`,`username`,`uid`,`email`,`user_status` FROM `member` WHERE ( `user_status` >=0 and `email_st
关闭