面试的题目,请大家帮忙顶
12 个解决方案
#1
建索引、分页显示等。
#2
除了以上 的方案还有更好解决方案
#3
优化没有具体公式,只能根据具体情况来看,比如:取得记录数,记录数的字段是否可索引,条件是否可索引,是否存在查询关联等.当然可以从这几方面考虑:
1、减少碎片,重组表(导出导入可以解决);
2、为使查询走基于代价的优化器,需要分析表;
3、检查查询语句是否可索引,因为不是所有的字段索引化就会明显改善查询速度,这要看具体情况;
4、在有索引的情况下检查索引是否能被引用到;如果不能被引用到,可以考虑新建索引;
5、重建索引(rebuild)、分析索引等;
6、根据查询计划去分析当前的查询语句。
另外,在查询语句写的不是太糟糕的情况下,100万数据表一般可以通过建立合理的索引使查询更高效。
1、减少碎片,重组表(导出导入可以解决);
2、为使查询走基于代价的优化器,需要分析表;
3、检查查询语句是否可索引,因为不是所有的字段索引化就会明显改善查询速度,这要看具体情况;
4、在有索引的情况下检查索引是否能被引用到;如果不能被引用到,可以考虑新建索引;
5、重建索引(rebuild)、分析索引等;
6、根据查询计划去分析当前的查询语句。
另外,在查询语句写的不是太糟糕的情况下,100万数据表一般可以通过建立合理的索引使查询更高效。
#4
那关于SGA的缓冲区分配不当,难道也不会引起性能减低吗>
#5
优化sql语句最终的效果一定要看执行计划。
#6
1如果有可能的话采用分区的方法,按年月或者地区将表拆分成多个小表,之后进行查询
2优化索引
3采用存储过程执行,因为已经在数据库上编译过,能相对快点
4,优化程序,java里面有批量处理一批相同类型sql的方法
基本上应该够了吧
2优化索引
3采用存储过程执行,因为已经在数据库上编译过,能相对快点
4,优化程序,java里面有批量处理一批相同类型sql的方法
基本上应该够了吧
#7
SGA的配置不当会引起数据库整体性能问题,人家问的是100万数据表的优化.
#8
才100w的数据 全部做全表搜索也不会慢
足够sga 和临时表空间 足够了。
实在不行 ,可以建下索引 和使用分区表,感觉大材小用。面试题才出100w的记录的题........晕
足够sga 和临时表空间 足够了。
实在不行 ,可以建下索引 和使用分区表,感觉大材小用。面试题才出100w的记录的题........晕
#9
mark
#10
要是我首先会检查表的hwm
然后检查freelist
当然了.如果是9i或者以上版本.我还会检查表和索引是否作过分析.
以及考虑是否需要做柱状图.
分区当然不可能是这么容易就让你做的.
因为这个需要涉及到与用户交涉.
当然内存参数肯定要设置到正常的.
当然索引是需要考虑的啦.建什么索引比较合适.哪些索引需要分析或者重建或者合并等等.
然后检查freelist
当然了.如果是9i或者以上版本.我还会检查表和索引是否作过分析.
以及考虑是否需要做柱状图.
分区当然不可能是这么容易就让你做的.
因为这个需要涉及到与用户交涉.
当然内存参数肯定要设置到正常的.
当然索引是需要考虑的啦.建什么索引比较合适.哪些索引需要分析或者重建或者合并等等.
#11
100万条根本就不多,查询缓慢我看主要还是SQL语句需要优化,
另外如果该表不是经常UPdate之类的,需要建索引
另外如果该表不是经常UPdate之类的,需要建索引
#12
1.增加CPU和内存.
2.适当加大SGA
3.检查出bad SQL,也就是执行效率非常低下的,改写.
4.重新看执行计划, 根据执行计划确定下一步.
5. 根据上一步的情况定.
2.适当加大SGA
3.检查出bad SQL,也就是执行效率非常低下的,改写.
4.重新看执行计划, 根据执行计划确定下一步.
5. 根据上一步的情况定.
#1
建索引、分页显示等。
#2
除了以上 的方案还有更好解决方案
#3
优化没有具体公式,只能根据具体情况来看,比如:取得记录数,记录数的字段是否可索引,条件是否可索引,是否存在查询关联等.当然可以从这几方面考虑:
1、减少碎片,重组表(导出导入可以解决);
2、为使查询走基于代价的优化器,需要分析表;
3、检查查询语句是否可索引,因为不是所有的字段索引化就会明显改善查询速度,这要看具体情况;
4、在有索引的情况下检查索引是否能被引用到;如果不能被引用到,可以考虑新建索引;
5、重建索引(rebuild)、分析索引等;
6、根据查询计划去分析当前的查询语句。
另外,在查询语句写的不是太糟糕的情况下,100万数据表一般可以通过建立合理的索引使查询更高效。
1、减少碎片,重组表(导出导入可以解决);
2、为使查询走基于代价的优化器,需要分析表;
3、检查查询语句是否可索引,因为不是所有的字段索引化就会明显改善查询速度,这要看具体情况;
4、在有索引的情况下检查索引是否能被引用到;如果不能被引用到,可以考虑新建索引;
5、重建索引(rebuild)、分析索引等;
6、根据查询计划去分析当前的查询语句。
另外,在查询语句写的不是太糟糕的情况下,100万数据表一般可以通过建立合理的索引使查询更高效。
#4
那关于SGA的缓冲区分配不当,难道也不会引起性能减低吗>
#5
优化sql语句最终的效果一定要看执行计划。
#6
1如果有可能的话采用分区的方法,按年月或者地区将表拆分成多个小表,之后进行查询
2优化索引
3采用存储过程执行,因为已经在数据库上编译过,能相对快点
4,优化程序,java里面有批量处理一批相同类型sql的方法
基本上应该够了吧
2优化索引
3采用存储过程执行,因为已经在数据库上编译过,能相对快点
4,优化程序,java里面有批量处理一批相同类型sql的方法
基本上应该够了吧
#7
SGA的配置不当会引起数据库整体性能问题,人家问的是100万数据表的优化.
#8
才100w的数据 全部做全表搜索也不会慢
足够sga 和临时表空间 足够了。
实在不行 ,可以建下索引 和使用分区表,感觉大材小用。面试题才出100w的记录的题........晕
足够sga 和临时表空间 足够了。
实在不行 ,可以建下索引 和使用分区表,感觉大材小用。面试题才出100w的记录的题........晕
#9
mark
#10
要是我首先会检查表的hwm
然后检查freelist
当然了.如果是9i或者以上版本.我还会检查表和索引是否作过分析.
以及考虑是否需要做柱状图.
分区当然不可能是这么容易就让你做的.
因为这个需要涉及到与用户交涉.
当然内存参数肯定要设置到正常的.
当然索引是需要考虑的啦.建什么索引比较合适.哪些索引需要分析或者重建或者合并等等.
然后检查freelist
当然了.如果是9i或者以上版本.我还会检查表和索引是否作过分析.
以及考虑是否需要做柱状图.
分区当然不可能是这么容易就让你做的.
因为这个需要涉及到与用户交涉.
当然内存参数肯定要设置到正常的.
当然索引是需要考虑的啦.建什么索引比较合适.哪些索引需要分析或者重建或者合并等等.
#11
100万条根本就不多,查询缓慢我看主要还是SQL语句需要优化,
另外如果该表不是经常UPdate之类的,需要建索引
另外如果该表不是经常UPdate之类的,需要建索引
#12
1.增加CPU和内存.
2.适当加大SGA
3.检查出bad SQL,也就是执行效率非常低下的,改写.
4.重新看执行计划, 根据执行计划确定下一步.
5. 根据上一步的情况定.
2.适当加大SGA
3.检查出bad SQL,也就是执行效率非常低下的,改写.
4.重新看执行计划, 根据执行计划确定下一步.
5. 根据上一步的情况定.