楼上说到关键了。如果分了表之后查询只是落到一个小表上,那么就好了。
可惜由于项目的实际状况,绝大多数情况是查询仍然需要落在所有的小表中,然后再来个排序之类的,效率上会不会有问题呢?
具个别人在论坛上提的一个简单查询的例子:
select * from (
select vid,vname,vcountry from t1
union all
select vid,vname,vcountry from t2
union all
select vid,vname,vcountry from t3
......
) where vname='Jones'
相对于一般的应用,这每一个小表也是具有相对规模的,利用union 和嵌套,在数据库查询时的负载、查询时间等方面,和只使用一个大表相比有那些优缺点呢?
可惜由于项目的实际状况,绝大多数情况是查询仍然需要落在所有的小表中,然后再来个排序之类的,效率上会不会有问题呢?
具个别人在论坛上提的一个简单查询的例子:
select * from (
select vid,vname,vcountry from t1
union all
select vid,vname,vcountry from t2
union all
select vid,vname,vcountry from t3
......
) where vname='Jones'
相对于一般的应用,这每一个小表也是具有相对规模的,利用union 和嵌套,在数据库查询时的负载、查询时间等方面,和只使用一个大表相比有那些优缺点呢?
解决方案 »
- 关于oralce 过程调用子过程
- forms开发中变量作用域的问题
- 关于调用函数或过程随机失效的问题
- 请教一条sql语句
- 超奇怪的问题,包不能编译通过
- oracle9i安装的问题,大家帮我看看!
- ORA-12535: TNS: operation time out
- sqlplus连接数据库时报错:ERROR:ORA-00257: archiver error. Connect internal only, until freed.怎么办?
- 从DB2到ORACLE的移植问题
- 刚从MSSQLSERVER转型为ORACLE有些茫然。
- 紧急-ORACLE 插入的值相对列过大
- Oracle中有没有这样的功能
select vid,vname,vcountry from table1,table2,table3
这种语句?有这样的用法么?另外,是否可以使用:
select vid,vname,vcountry from table1,table2,table3 order by vid
这样的语句呢?
oracle都帮你考虑好了。