我们公司的一个应用程序的服务器端是用java写的~
因为老板要我们改善一下,当用户访问数据库时,要尽量减轻访问数据库时服务器的负载~
之前公司写过的java代码我看得懂,但是要我如何改善访问的效率的话我就不知道怎么写(我刚来公司第一个星期,而是刚毕业)
现在老板只要求我写服务器端的整体框架出来,目的是要进一步的改善数据库访问的效率!
大家帮忙想想办法啊,用什么方法可以提高访问数据库的效率,或减轻服务器的负载~

解决方案 »

  1.   

    我觉得有这些方面可以考虑一下:
    1,优化连接。比如采用数据库连接池,使用开源框架hibernate,等。
    2,优化sql。需要有较好的sql功底,然后分析业务过程的sql,进行优化,组合等。
    3,非程序的,就是提供硬件配置
    仅供参考。
      

  2.   


    1.从应用程序来优化执行数据库速度的话,一般就是实现数据库连接的池管理技术(即连接池管理),也就是说应用服务器在启动时初始化一定数量的连接,并在连接不够的时候自动增加,多了的时候自动回收。这样可以保证每次访问数据库的时候不需要与数据库建立连接的时间。2.实质上数据库速度优化的最重点是在数据库本身,特别是程序中的sql语句,大多数情况下是sql语句写的不好,导致数据库查询变慢.所以优化sql语句在数据库优化方面起到很重要的作用
      

  3.   

    减轻访问数据库时服务器的负载. 简单的说,你得改进2点1.减少不必要的数据库访问 2.不得不访问数据库的时候,提高访问效率。例如:
    A)多句select,合并成1句
    B)把 select * 改成 select 你需要的字段
    C)大量的update insert操作放到List<String>里,一次执行掉。
    D)检查数据库 表是否合理,表与表之间的关系是否合理
      

  4.   

    让一个刚毕业的新人提高数据库效率感觉有点忽悠人,
    同意这点估计主要是让你去优化sql语句吧
      

  5.   

    要优化的话,先从 SQL 开始优化:1,如果某查询是由多个查询组成的,那么看看这几个查询能否使用表连接进行关联弄成一个 SQL 查询;
    2,多表查询时 SELECT 中选择列的时候列名前加上表的别名;
    3,为表添加必要的索引;
    4,尽量使用 WHERE 条件,而不是 HAVING;
    5,条件中尽量使用 EXISTS 而不是 IN;
    6,尽量使用 EXISTS,而不是 DISTINCT;
    7,尽量使用 UNION ALL,而不是 UNION 进行联合查询;
    8,很复杂的查询而且有多套方案,可以比较一下执行计划。