SP公司大都经历过如下的事情, 大的表, 无限增长, 以及程序不断扫描该表(select)得到最新数据, 导致机器的CPU占用率特别高, 尤其是Mysql, 会达到70% , 换做PostGres, 消耗就变得很小, 但是, 持续Select数据库终究不是什么好办法, 下面的方法是Oracle下的解决方法, 但是同样适用于Postgres, 因为它也支持触发器, 方法的本质是插入数据的同时通知程序, 我们可以建立postgres的触发器来支持, 同理, Mysql也是可以这样子解决的, 这就需要我们自己编写mysql的函数来替代Insert, 需要一些C的功底, 也不是很难, 呵呵, 大家先来看看Oracle下的解决方法吧...... | |
很多朋友在使用ORACLE进行后台数据存储时都可能遇到这样的问题,哪就是,设计的数据库中不可避免的有一两个比较大的数据表,有时可能更多,如果对这些数据表只进行INSERT操作,哪还比较好一些,可是如果要经常进行数据更新(UPDATE)和数据选取(SELECT),在数据量比较少时,程序还能过的去,如果数据量一大,上了百万数量级时,如果数据表设计不合理,执行UPDATE就会出现可怕的现象(一般都遇到过吧)。程序也可能由于对大表的频繁的执行SELECT操作而导致程序和数据库莫明其妙的问题,同时对数据库来说,也是一笔不可呼视的开销。
|
ORACLE Postgres Mysql大表扫描操作解决方案
最新推荐文章于 2022-08-17 14:53:00 发布