ORACLE 高手进!SQL优化问题

[复制链接]
查看11 | 回复3 | 2012-7-1 10:33:53 | 显示全部楼层 |阅读模式
建议:第一:将子查询定义为视图,可简化sql语句。第二:不建议在所有连接字段上建立索引。有时候建立索引会导致某些问题比如在经常改动的列上建立索引。建立索引要有选择。第三:可以将一些连接较多的写成存储过程。另外就是看到这么多表之间这些关系,是不是考虑下这句话:满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和操作异常。这并不意味着不符合范式要求的设计一定是错误的,在数据库表中存在1:1或1:N关系这种较特殊的情况下,合并导致的不符合范式要求反而是合理的。...
回复

使用道具 举报

千问 | 2012-7-1 10:33:53 | 显示全部楼层
由于连接的表比较多,建议将其相互连接的字段加上索引,可以大大加快查询速度我曾经也像你这样查询过6个表,查询时间达到56秒,加上索引后,提高到16 ms...
回复

使用道具 举报

千问 | 2012-7-1 10:33:53 | 显示全部楼层
数据库版本是多少?假设索引都建好的基础上将第一句改成如下试试?SELECT /*+leading(t)*/DICT.FIELD_VALUE,SELECT /*+rule*/DICT.FIELD_VALUE,再不行的话就是T.NOCONFIRMS了,为啥不用一个子表存储NOCONFIRMS。SELECT COLUMN_VALUE改成...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行