zoukankan      html  css  js  c++  java
  • 性能优化个人认识小结

         设计一个系统的时候,要考虑到各个方面的性能。只有在各个环节做好性能 优化,最终才能搭建一个性能良好的系统。

         先只单说数据库性能优化。我用到的数据库就是MySQL,就谈MySQL性能优化。


         拿到一个系统设计需求,在数据库设计方面,首先考虑的问题是数据量有多少,是否需要分库分表。

         分库,由于数据量太大,一个数据库服务器容不下,就需要部署在不同的数据库服务器上了。

         分表:单表的数据量太大的时候,查询性能会降低,此时考虑分表。我在工作中碰到这样的设计的时候,一般维持单表的数据量在百万级别,不宜过高。这里的分表指的是横向分表,一般按照id取模分表。至于纵向分表,是由于表的列数太多,要纵向分表。表列太多这种问题,在设计具体表的时候就应该杜绝,不要后期再去分表。

         大的方面定下来后,接下来考虑的是表的具体设计。首先设计表的时候,避免过多的列,这样就可以避免纵向分表了。

      设计表应该根据系统要执行的sql语句来建表。列不要太多,范式与反范式的衡量,汇总表,计数表,缓存表是否需要等等。

      从三个方面讲解MySQL性能优化:

    • 建表与数据类型优化
    • 创建高性能的索引
    • 查询优化

    建表与数据类型优化:选择合适的数据类型,更小通常更好,简单,not null 

    创建高性能索引

    查询优化:查询了过多的数据,避免select *

  • 相关阅读:
    顶目群定义及项目群管理
    项目管理与项目组合管理的不同
    IT项目经理:人际关系技能和领导技能的重要性
    IT 项目经理的职业生涯
    Sharepoint2010 中隐藏 "快速启动"与"最近修改'
    3 个基本的IT项目组合种类
    项目成功的标志及决定因素
    HDL,你们作对了吗?
    JAVA代码编写的30条建议
    八款开源 Android 游戏引擎
  • 原文地址:https://www.cnblogs.com/taijun/p/4315449.html
Copyright © 2011-2022 走看看