我觉得这样的写法应该很ok的;
不过如果你不是需要a.*, b.*,只写出必要的字段,相信在响应时间上可以更快些,
不过如果你不是需要a.*, b.*,只写出必要的字段,相信在响应时间上可以更快些,
解决方案 »
- 求oracle存储过程写法
- 乱码续集II
- oracle数据库无故连接不上,但重启服务器之后可以恢复连接,是怎么回事??
- 求sql:得到的是每天a字段最大值和最大值的id、最小值值和最小值的id
- 那位兄弟推荐几本oracle的书,比较深入的,一方面是开发的,一方面是数据库管理的
- 请问:引用远程数据链路中,关于使用case when 语句的问题,谢谢
- 存储过程问题
- 这条sql语句怎么写???急急急!!!
- sql server 中有类似oracle中snapshot的东东吗?
- function 里面进行 dml,事务要在其他地方管理,有办法实现吗?
- 命令行exp数据导出问题-------分不够再加
- 在VB.net中如何去除从Oracle数据库中取出的Varchar字符串的空格?
我再执行select * from c where where name like '陆%'的时候只需要耗时0.172秒(name 字段有索引)
可是如果不加条件的select * from c则需要7秒以上ft
请问有没有什么合理解释?
select * from c where gender=1 需要3秒多的时间, 而gender字段也有索引 为什么差距这么大呢?
怎样对视图进行优化的,但是对表的查询优化基本有这么几个原则:
1. 例如 "select * from c where id != 0"这样的查询语句,是不会用上
索引的,如果id的取值不多,可以考虑建立bitmap index(OLTP类型的系统
不建议使用bitmap index) 2. select * from c则需要7秒
-------------------------
很正常,大表的连接代价是比较高的,关联匹配的数据量占
表的总数据量的多大? 如果比率很高的话,索引效率不会很好
3. 不是查询列上建立了索引,就一定会提高效率。有些情况下,全表扫描
的效率要高于索引. 4. 优化器是什么模式? 如果是rbo,要注意驱动表的位置. 5. 表和索引有没有进行过统计? 如果没有,先做一个统计
analyze table a compute statistics;
analyze table b compute statistics; 也可以只更新索引的统计信息,具体的查一下相关资料吧.
我使用analyze table a compute statistics;
analyze table b compute statistics;
两条命令之后再执行select * from c 只需要2秒钟了
可是对这个统计的具体含义我还不太清楚 也不知道当数据变化后是否还有效
这个得查查看了 :p
做一个job吧,定期更新.