zoukankan      html  css  js  c++  java
  • 常用的网站数据库优化方法

         在日常工作中,时不时会遇到一个已在线的产品的数据库出现性能问题,如访问速度太慢甚至是无法打开的问题,通过相关工具查看数据往往会见到锁太多,服务器的 cup , 内存占用过大的情况,这时候就需要做些优化工作了。以下是我所总结的几种方法,还有什么好的办法,希望得到大家的指教。

        1. 静态化。 对于过于访问频繁的页面我们可以考虑使用静态化,静态化包括整个页面静态化和数据静态化。整个页面静态化这个好理解;数据静态化就是将与 数据库返回的数据形成文件然后保存到 XML 之类的文件中,每次访问读的是 XML 文件数据,静态数据生成时机 一般采用的是 访问前生成,访问后生成,生成程序自动生成。何时静态化,使用什么样的静态化?不同的使用场景需采用不同的静态生成策略。

        2. 分表。针对每个时间周期产生大量的数据,可以考虑采用一定的策略将数据存到多个数据表中,如论坛按照一个月内的主帖的回帖保存到一个表中;而主帖的字段太多,我将其内容 content 字段 保存到另外一个表中,避免一个表过大的问题。

        3. 分库。 就是将系统按照模块相关的特征分布到不同的数据中,以提高系统整体负载能力。

        4. 定时任务。 如某个相册,每小时有3000次的访问,我们要记录每张图片的点击量(每日,每周,每月,总点击量),但浏览时对其实时性要求不高。显然每次更新图片的点击量会成为系统的一个瓶颈,这时候可采取将访问情况记录到一个临时性的点击表中,每隔一个时钟周期将其更新回相关地方,然后 truncate 临时表中的数据。
  • 相关阅读:
    ASP.NET中常用的26个优化性能方法(转)
    代码整洁
    【在开发中常用的UI控件】
    【加法计算器--结果label不显示加值】
    【点击textfield的时候不出现键盘】
    【XCODE上的项目运行到模拟器上是一片空白】
    【xcode commit失败 please tell me who you are】
    【storyboard 上没有箭头的解决办法】
    【ios模拟器上没 home键,怎么返回的?】
    【这是一个JAVA开发者的博客~】
  • 原文地址:https://www.cnblogs.com/infozero/p/1621773.html
Copyright © 2011-2022 走看看