一项目遇到需要考虑数据库性能方面的问题,
有600个以上客户端,数据库中有三张表,每张表至少存在2百万条记录,并且最坏情况下数据量是以每天万条记录的数量级稳步增长,系统使用过程中需要对这三张表进行关联查询,请问,建立了相关索引后,最恶劣的情况下数据库响应会是一个什么程度(包括响应时间),性能会有多大影响。
谢谢!
有600个以上客户端,数据库中有三张表,每张表至少存在2百万条记录,并且最坏情况下数据量是以每天万条记录的数量级稳步增长,系统使用过程中需要对这三张表进行关联查询,请问,建立了相关索引后,最恶劣的情况下数据库响应会是一个什么程度(包括响应时间),性能会有多大影响。
谢谢!
服务器配置问题不是很大,系统采用BS结构,绝大多数客户端采用互联网连接,性能和可靠性比不上局域网。
另外您提到的驱动表和查询执行计划这个办法具体还请指教,谢谢!
调整的原则是时时查看执行计划.执行HOME/RDBMS/ADMIN下的utlxplan.sql脚本创建表plan_table.生成SQL的执行计划.explain plan set statement_id='任意值' for YOUR SQL,然后查看plan_table的内容.如果有第三方工具,如pl/sql developer,直接F5就可以看到执行计划.
索引的建立要慎重,并不是越多越好,也不是什么样的列都可以.当一个表上有多个索引,而某个索引不具备好的选择性时,优化器不能做正确的判断,所以执行计划是如此的重要!
ps:你可以看看性能调整方面的书籍或ORACLE的文档.调整是个很大而且很有挑战的主题,不可能一下就能说清楚.
GOOD LUCKY WITH U!