一个100万条记录表,目前查询速度过慢,让你给出5条优化措施??
面试的题目,请大家帮忙顶
面试的题目,请大家帮忙顶
解决方案 »
- Oracle中的Dblink和同义词有什么区别吗?
- oracle中创建表空间的问题?
- oracle 调用远程存储过程 并写入数据?DB LINK可以实现吗?可以调用远程数据库存储过程并且向远程数据库写入数据吗?麻烦贴下sql脚本demo解释下、谢
- oracle fatal exception occurred program exit
- 如何找出是那个session锁住了一个表
- 请问在Oracle中如何定义Bool类型的字段?
- sqlplus 连接问题
- oracle 9i oem下数据备份的问题
- SQL SERVER 中的CASE THEN ELSE在ORACLE里怎么写?
- 请问如何从一台机器的oracle数据库导入另一台机器的oracle
- ”错误997:重叠I/O操作在进行中“ 谁能帮我解释怎么回事啊!!《在线等》
- o9i数据库创建问题,请高手指点一下.
1、减少碎片,重组表(导出导入可以解决);
2、为使查询走基于代价的优化器,需要分析表;
3、检查查询语句是否可索引,因为不是所有的字段索引化就会明显改善查询速度,这要看具体情况;
4、在有索引的情况下检查索引是否能被引用到;如果不能被引用到,可以考虑新建索引;
5、重建索引(rebuild)、分析索引等;
6、根据查询计划去分析当前的查询语句。另外,在查询语句写的不是太糟糕的情况下,100万数据表一般可以通过建立合理的索引使查询更高效。
足够sga 和临时表空间 足够了。
实在不行 ,可以建下索引 和使用分区表,感觉大材小用。面试题才出100w的记录的题........晕
然后检查freelist
当然了.如果是9i或者以上版本.我还会检查表和索引是否作过分析.
以及考虑是否需要做柱状图.
分区当然不可能是这么容易就让你做的.
因为这个需要涉及到与用户交涉.当然内存参数肯定要设置到正常的.当然索引是需要考虑的啦.建什么索引比较合适.哪些索引需要分析或者重建或者合并等等.
另外如果该表不是经常UPdate之类的,需要建索引