博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
性能优化个人认识小结
阅读量:5124 次
发布时间:2019-06-13

本文共 606 字,大约阅读时间需要 2 分钟。

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

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


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

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

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

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

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

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

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

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

创建高性能索引

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

 

转载于:https://www.cnblogs.com/taijun/p/4315449.html

你可能感兴趣的文章
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
MySQL5.7开多实例指导
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
Red and Black(poj-1979)
查看>>
分布式锁的思路以及实现分析
查看>>
腾讯元对象存储之文件删除
查看>>
jdk环境变量配置
查看>>
安装 Express
查看>>
包含列的索引:SQL Server索引的阶梯级别5
查看>>
myeclipse插件安装
查看>>
浙江省第十二届省赛 Beauty of Array(思维题)
查看>>
NOIP2013 提高组 Day1
查看>>
cocos2dx 3.x simpleAudioEngine 长音效被众多短音效打断问题
查看>>
存储(硬件方面的一些基本术语)
查看>>
观察者模式
查看>>
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>