性能优化
写程序的赵童鞋
Github:https://github.com/Zhao-666
展开
-
减少HTTP请求的四种方式
由于HTTP1.1协议规定请求只能串行发送,也就是说一百个请求必须一次逐个发送,前面的一个请求完成才能发送下一个请求。所以我们在开发的时候应该尽量减少HTTP请求,如下有4种方式:1、使用图片地图图片地图允许你在一个图片上关联多个URL,目标URL的选择取决于用户单击了图片上的哪个位置使用标签,如: 2、CSS Sprites中文翻译为CSS原创 2018-02-05 23:09:18 · 4299 阅读 · 0 评论 -
MySQL的二进制日志记录方式对复制的影响
基于SQL语句的复制格式(SBR)即 binlog_format = statement优点:生成的日志量少,节约网络传输I/O并不强制要求主从数据库的表定义完全相同相比于基于行的复制方式更为灵活缺点:对于非确定事件,如UUID(),无法保证主从复制数据的一致性对于存储过程 ,触发器,自定义函数等进行的修改也可能造成数据的不一致相比于基于行的复制方式在从上执行时需要更多的行锁(推荐)基于行的复制(...原创 2018-06-24 10:03:24 · 290 阅读 · 0 评论 -
数据库分片前的准备
通常来说,如果可以采用分库就尽量不要进行分片,分片后的数据表难以维护,但也会有到不得不分片的时候。如何选择分区键分区键要能尽量避免跨分区查询的发生。例如一个博客表,如果采用每一篇博客的主键ID来进行分区,查询某个用户的博客时则要跨多个分区去汇总数据,性能会比分区前更慢。所以可以考虑使用用户ID来进行分区,则只需要在一个分片中进行查询分区键要能尽量使各个分片中的数据平均。分片就是为了减轻数据库的负载...原创 2018-06-30 10:59:07 · 421 阅读 · 0 评论 -
MySQL主从数据库配置
基于日志点的复制配置优点:是MySQL最早支持的复制技术,Bug相对较少对SQL查询没有任何限制故障处理比较容易缺点:故障转移时重新获取新主的日志点信息比较困难...原创 2018-06-25 21:27:34 · 201 阅读 · 0 评论 -
MMM架构的优缺点
MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现...原创 2018-06-27 07:38:22 · 1487 阅读 · 0 评论 -
MHA架构的优缺点
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证...原创 2018-06-27 08:01:05 · 4201 阅读 · 0 评论 -
捕获有问题的SQL
启用mysql慢查询日志set global show_query_log_file = /sql_log/show_log.log;set global log_queries_not_using_indexes = on;set global long_query_time = 0.001;set global low_query_log = on;原创 2018-07-09 06:55:24 · 313 阅读 · 0 评论 -
数据库操作规范
数据库命名规范所有数据库对象名称必须小写。因为MySQL是大小写敏感的,Dbname和dbname是两个不一样的数据库命名要做到见名识意,禁止使用MySQL保留关键字。如from,使用的话就会变成 select name,from from user_table;临时表以tmp_开头,备份表以bak_开头并以时间戳结尾所有存储相同数据的列名和列类型必须保持一致。否则在关联查询中会导致隐式的类型转换...原创 2018-07-03 07:53:31 · 1691 阅读 · 0 评论