锁定老帖子 主题:解决服务器性能瓶颈
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-19
谢谢兄弟们的捧场哦!
我这次优化性能明显得到提高!电信用户非常满意!原查询统计要2到3分钟,现在只要10几秒。 其实性能瓶颈就在于入库、查询和统计分析都在同一表上进行,而此表的数据量却非常的大,很容易产生资源的竞争。极大影响入库、统计和查询的执行效率了。只要解决了入库、查询和统计分析的表分开,另外将海量数据分流存储,缩小了查询范围。现在分流存储也大大方便了历史数据的清理,这样的优化非常值得! |
|
返回顶楼 | |
发表时间:2008-11-24
jacklondon 写道 如果性能能够从硬件上解决当然最好。硬件价格年年降,人员工资年年涨,只要稍微想想都知道,能在硬件上解决,往往成本更低,周期更短。
数据库方面的性能优化,insert/delete/update 基本上靠硬件。所以软件技术员能够做的只有 select 了。所以我说的方法安全够用: 其实没有这么复杂: 1. 所有数据放在一个表中 2. 时间字段加索引 3. 查询、报表时,要求用户录入数据开始时间、结束时间,并且,结束时间 - 开始时间 < x 天。 这样就行了。 只是“时间字段”做索引,不同的数据库效率不同。据我的体会,Oracle 时间字段索引要比 SQL server 的快。 当然了,解决数据库性能问题,有必要进行数据库选型测试:同样的数据量,同样的表结构、索引,测试性能,对比。 看来你还的确没有什么在oracle上大数据量的的经验,按照你的方法的话,上亿条数据堆在一个表空间上,表空间很容易形成热区,就算加了索引速度也是无法忍受的,就算不分表,表上分区也是必要的。 |
|
返回顶楼 | |
发表时间:2009-01-01
楼主的方案不错。至少在大家都认为要先添加一个硬件时,楼主在不增加硬件投资的情况下,实现了优化。分表,分区,库表读写分开,这些思路都是必然的思路。
不过,优点是有。缺点也是挺明显的。增加了员工工作上的消耗,程序要做修改,处理难度稍微增加了。 同意很多楼友,你们公司也忒抠门了,做电信项目还没钱! |
|
返回顶楼 | |
发表时间:2009-01-07
楼主落伍了,不知道现在红火的是hadoop 这样的dfs了么?是时候抛弃数据库了
|
|
返回顶楼 | |
发表时间:2009-01-13
购买了设备也要加上索引日期
|
|
返回顶楼 | |
发表时间:2009-01-15
升级到Mysql5.1 按时间表分区。。性能会显著提升。
|
|
返回顶楼 | |
发表时间:2009-01-21
应对数据庞大的处理,我们公司是利用offline script去把它们转移,想法挺好的,可以试试。
|
|
返回顶楼 | |