当前位置: 首页 > news >正文

网站建设泉州app开发公司

网站建设泉州,app开发公司,南京疫情最新消息今天新增病例轨迹,网站建设代码大全目录 一、MySQL优化 3、mysql server上的优化 3.1、MySQL查询缓存 3.2、索引和数据缓存 3.2、线程缓存 二、MySQL日志 2.1、redo log 重做日志 2.2、undo log 回滚日志 2.3、错误日志 2.4、查询日志 2.5、二进制日志 2.5.1、基于binlog数据恢复实践操作 六、慢查…

目录

一、MySQL优化

3、mysql  server上的优化 

3.1、MySQL查询缓存

 3.2、索引和数据缓存

3.2、线程缓存

二、MySQL日志

2.1、redo log   重做日志

2.2、undo log 回滚日志

 2.3、错误日志

2.4、查询日志

2.5、二进制日志

2.5.1、基于binlog数据恢复实践操作

六、慢查询日志


一、MySQL优化

1、SQL和索引的优化

2、应用上的优化

3、mysql  server上的优化 

3.1、MySQL查询缓存

MySQL 的查询缓存是把 select 查询语句上一次的查询结果记录下来放在缓存当中,下一次再查询相同内 容的时候,直接从缓存中取出
来就可以了,不用再进行一遍真正的SQL 查询。但是当两个 select查询中 间出现insert,updatedelete 语句的时候,查询缓存就会
清空 查询缓存适用更新不频繁的表 ,因 为当表更新频繁的话,查询缓存也总是被清空,过多的查询缓存的数据添加和删除,就会影
响MySQL的 执行效率,还不如每次都从磁盘上查来得快(缓存指的就是一块内存,内存I/O比磁盘 I/O 快很多)。 可以在MySQL 上通
过以下命令,来查看查询缓存的设置:

 通过show status命令,可以查看MySQL查询缓存的使用状况,如下:

 3.2、索引和数据缓存

主要指的就是 innodb_buffffer_pool_size 配置项,从名字上就能看到,该配置项是针对 InnoDB 存储引擎 起作用的,这个参数定InnoDB
存储引擎的表数据和索引数据的最大内存缓冲区大小。 innodb_buffffer_pool_size是同时为数据块和索引块做缓存,这个值设得越高,
访问表中数据需要的磁 盘 I/O 就越少

innodb_buffer_pool_size=512M

3.2、线程缓存

主要指配置文件中 thread_cache_size 配置项。给大家讲过 MySQL Server 网络模块采用经典的 I/O 复用
+ 线程池模型,之所以引入线程池,主要就是为了在业务执行的过程中,不会因为临时创建和销毁线
程,造成系统性能降低,因为线程的创建和销毁是很耗费性能的,所以线程池就是在业务使用之前,先
创建一组固定数量的线程,等待事件发生,当有 SQL 请求到达 MySQL Server 的时候,在线程池中取一
个线程来执行该 SQL 请求就可以了,执行完成后,不销毁线程,而是把线程再归还到线程池中,等待下
一次任务的处理( MySQL 会根据连接量,自动加大线程池的数量)。

thread_cache_size=10
配置完 thread_cache_size ,重启 MySQL Server 服务生效。

二、MySQL日志

2.1、redo log   重做日志

redo log :重做日志,用于记录事务操作的变化,确保事务的 持久性 redo log 是在事务开始后就开始
记录,不管事务是否提交都会记录下来,在异常发生时(如数据持久化过程中掉电), InnoDB 会使用
redo log 恢复到掉电前的时刻,保证数据的完整性。

 MySQL执行的时候都有缓存的辅助,不可能直接和磁盘打交道的

innodb_log_buffffer_size 默认是 16M ,就是 redo log 缓冲区的大小,它随着事务开始,就开始写 redo
log ,如果事务比较大,为了 避免事务执行过程中花费过多磁盘IO 可以设置比较大的 redo log缓存,节省磁盘IO

2.2、undo log 回滚日志

undo log :回滚日志,保存了事务发生之前的数据的一个版本,用于事务执行时的回滚操作,同时也是
实现多版本并发控制( MVCC )下读操作的关键技术。
DB_TRX_ID: 事务 ID                      DB_ROLL_PTR: 回滚指针

 2.3、错误日志

错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程
中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日
志。
mysqld 使用错误日志名 host_name.err(host_name 为主机名 ) 并默认在参数 DATADIR( 数据目录 ) 指定
的目录中写入日志文件。

2.4、查询日志

查询日志记录了客户端的所有语句。由于上线项目 sql 特别多,开启查询日志 IO 太多导致 MySQL 效率
低,只有在调试时才开启,比如通过查看 sql 发现热点数据进行缓存。

mysql> show global variables like "%genera%";

2.5、二进制日志

二进制日志 (BINLOG) 记录了所有的 DDL( 数据定义语言 ) 语句和 DML( 数据操纵语言 ) 语句,但是不包括
数据查询语句。语句以 事件 的形式保存,它描述了数据的更改过程。 此日志对于灾难时的数据恢复起
着极其重要的作用。
两个重要的应用场景:主从复制、数据恢复
查看 binlog mysql> show binary logs;
通过 mysqlbinlog 工具( mysql 原生自带的工具)可以快速解析大量的 binlog 日志文件,如:
shell> mysqlbinlog --no-defaults --database=school --base64-output=decode-rows
-v --start-datetime='2021-05-01 00:00:00' --stop-datetime='2021-05-10 00:00:00'
mysql-bin.000001 | more

2.5.1、基于binlog数据恢复实践操作

六、慢查询日志

MySQL 可以设置慢查询日志,当 SQL 执行的时间超过我们设定的时间,那么这些 SQL 就会被记录在慢查
询日志当中,然后我们通过查看日志,用 explain 分析这些 SQL 的执行计划,来判定为什么效率低下,是
没有使用到索引?还是索引本身创建的有问题?或者是索引使用到了,但是由于表的数据量太大,花费
的时间就是很长,那么此时我们可以把表分成 n 个小表,比如订单表按年份分成多个小表等。
慢查询日志相关的参数如下所示:

http://www.qdjiajiao.com/news/10967.html

相关文章:

  • 建设门户网站特点网络推广主要内容
  • 网站获取客户信息需要备案吗手机建站平台
  • 淘宝客怎么建立网站广州网站推广运营
  • seo建站淘客企业网站建设方案策划书
  • 做网站资料网络营销属于什么专业类型
  • alexa排名软件seo外包收费
  • 做购物网站的数据库搜索引擎优化工具
  • 网站前台图片设置google图片搜索引擎入口
  • 相亲网站男人拉我做外汇国际新闻最新消息中国
  • 谁有做爰网站号惠州自动seo
  • 武汉市有做网站的吗网络推广精准营销推广
  • 网站改版 301跳转国外搜索引擎大全百鸣
  • 做起点说网站的服务器多少钱网站快速优化排名app
  • 建立网站目录结构的原则百度站长社区
  • js 网站源码香港旺道旺国际集团
  • 做网站业务员应该了解什么网络seo外包
  • 浏览网站时弹出的广告是谁给做的关键词词库
  • 全球新冠疫情最新消息今天青岛百度推广优化
  • 深圳做网站设计的公司成都网站建设方案服务
  • 淄博市 网站建设报价怎样推广app别人才愿意下载
  • 全国做网站哪家好四川网络推广seo
  • 网站建设中 模板下载58黄页网推广公司
  • 个人网站建站指南15个常见关键词
  • 政府网站建设规范小红书外链管家
  • 有域名后怎样做网站优化seo教程
  • 用dreamever如何建设网站seo服务 文库
  • 网站优化设计宣传推广计划怎么写
  • 大安区网站建设网络广告销售
  • 专业做影评的网站软文广告营销
  • 自学搭建网站seo研究中心晴天