实战经验:MySQL 构建高并发网站性能优化

最近在优化一个比较大型的高并发网站,收益颇多,经验分享给大家。

1. 表字段分割。经常访问的表、行数量大的表,切记保持最少长度字段,不在select列表的数据,请做垂直分割。举例:文章表,不要将文章正文部分的内容存在文章信息表里,可以将这个字段独立存储到另一张表articleContent(articleID,articleContext)。因为这个字段长度大,影响查询时的行扫描。

2. 频繁更新的字段做表的垂直分割。在做更新操作时,一般会做行锁定,有的会设置成表锁定。那么在做query的时候,更新操作没完成前,所有查询都会排队等待。

3. 尽量做cache字段,减少表关联查询。

4. 对一些非重要、非实时性强的数据,做定时更新,而不是实时更新。

5. 索引。好的索引对查询的效果可以达成百上千倍,但前提是好的数据表结构设计。索引太多容易引起更新变慢。注意where和order by里的字段。关于索引,我会开专题讲解优化。

6. 定期重建索引。使用一定时间后,会有索引碎片的问题,这就如磁盘碎片整理。

7. 过滤慢查询,一般系统查询时间超过0.1s的都要检查。

8. 善用explain分析查询成本。进行了全表扫描的语句都要考虑优化,如几百内的小数据量表除外。

9.  配置参数优化。如临时表size、锁机制、数据库引擎类型。

时间: 2024-08-12 19:37:33

实战经验:MySQL 构建高并发网站性能优化的相关文章

15套java架构师、集群、高可用、高可扩 展、高性能、高并发、性能优化大型分布 式项目实战视频教程

2017-08-09 * { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.

java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化

15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程内容包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.性能调优.高并发.to

学习 《构建高并发网站结构》记录

一,大型网站的特点: 1,并发数量高,访问量大. 2,处理的数据大(上1势必造成如下) 3,用户分布广泛,网络环境复杂. 4,稳定性高. 5,易于扩展. 6,安全性高. 二,大型网站的基础设施 1,服务器介绍 1.1,塔式服务器 :外形与普通pc机差不多,个头相对大一点.特点,插槽多,扩展性强,常用于入门级和工作组级别的服务器,不过相对占空间. 1.2,机架式服务器:宽度为19英寸,高度以U为单位(1U=1.75英寸=44.45毫米) 这种服务器占用空间小,可以将多台服务器装到1个机柜上,方便统

分布式架构、高可扩展、高性能、高并发、性能优化,微服务

微服务专题 你还不知道微服务?怎么加(zhuang)薪(bi) SpringBoot 与微服务的区别于联系 快速构建SpringBoot工程 SpringBoot核心组件剖析 快速集成mybatis实战 快速集成Dubbo及案例实战 构建集成 redis及案例实战 构建Swagger插件实现API 管理及接口测试体系 SpringCloud Zuul路由网关详解源码探析 Ribbon客户端负载均衡原理 Feign声明式服务调用方式 Eureka注册中心构件 Config配置服务中心 svn.gi

java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘

15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; color: #FF0 } 15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  clo

由 12306.cn 谈谈高并发+高负载网站性能技术

12306.cn 网站挂了,被全国人民骂了.我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题.因为仓促,而且完全基于本人有限的经验和了解, 所以,如果有什么问题还请大家一起讨论和指正.(这又是一篇长文,只讨论性能问题,不讨论那些用户界面.用户体验.或是是否把支付和购票下单环节分开的功 能性的东西) 甲.认识业务的特殊性 任何技术都离不开业务需求,所以,要说明性能问题,首先还是想先说说业务问题. 其一,有人可能把这个东西和扣扣或是网游相比.但我觉得这两者是不一样的,网游和扣

浅谈千万级PV/IP规模高性能高并发网站架构(转自老男孩)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/736710 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储). 如:能缓存在用户电脑本地的,就不要让他去访问CDN. 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了.能访问静态服务器的,就不要去访问动态

构建高并发高可用的电商平台架构实践

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流. 转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441 作者:杨步涛 关注分布式架构.大数据.搜索.开源技术 QQ:306591368 技术Blog:http://blog.csdn.net/yangbutao 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包

构建高并发高可用的电商平台架构实践(上)

构建高并发高可用的电商平台架构实践(上) 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag) 反向代理缓存 应用端的缓存(memcache) 内存数据库 Buffer.cache机制(数据库,中间件等) 2)      索引 哈希.B树.倒排.bitmap 哈希索