置顶随笔

[置顶]mysql 开发进阶篇系列 24 查询缓存下

摘要: 一. 查询缓存 1.开启缓存 设置了缓存开启,缓存最大限制128M,重启服务后,再次查询 2 测试缓存 现在是缓存2次,命中一次 上面是二个查询sql语句,此时缓存数是4,如下图所示: 此时缓存数是6,说明缓存区分where条件值的大小写。同样也会区分sql关键词的大小写。如下图所示: 设置好que阅读全文

posted @ 2018-08-17 11:05 花阴偷移 阅读(20) 评论(0) 编辑

[置顶]mysql 开发进阶篇系列 23 应用层优化与查询缓存

摘要: 一.概述 前面章节介绍了很多数据库的优化措施,但在实际生产环境中,由于数据库服务器本身的性能局限,就必须要对前台的应用来进行优化,使得前台访问数据库的压力能够减到最小。 1. 使用连接池 对于访问数据库来说,建立连接的代价比较昂贵,因为连接到数据库服务器需要经历多个步骤如:建立物理通道,服务器进行初阅读全文

posted @ 2018-08-16 17:44 花阴偷移 阅读(183) 评论(0) 编辑

[置顶]mysql 开发进阶篇系列 22 磁盘I/O问题(从linux操作系统上优化)

摘要: 1. 使用Symbolic Links分布I/O mysql的数据库名和表名是与文件系统的目录名和文件名对应的,默认情况下,创建的数据库和表都存放在参数datadir定义的目录下。如果不使用RAID或逻辑卷,所有的表都放在一个磁盘设置上,无法发挥多磁盘并行读写的优势。这种情况,我们可以利用操作系统的阅读全文

posted @ 2018-08-15 18:24 花阴偷移 阅读(41) 评论(0) 编辑

[置顶]mysql 开发进阶篇系列 21 磁盘I/O问题(RAID)

摘要: 一.概述 作为应用系统的持久化层,不管数据库采取了什么样的Cache机制,数据库最终总是要将数据储存到可以长久保存的I/O设备磁盘上。但磁盘的存取速度显然要比cpu,ram的速度慢很多。因此,对于比较大的数据库,磁盘I/0 一般总会总为数据库的一个性能瓶颈。 ram:又称作“随机存储器”,是与CPU阅读全文

posted @ 2018-08-14 18:20 花阴偷移 阅读(52) 评论(0) 编辑

[置顶]sql server 备份与恢复系列五 完整模式下的备份与还原

摘要: 一.概述 前面介绍了简单恢复模式和大容量恢复模式,这篇继续写完整恢复模式下的备份与还原。在完整恢复模式里最大的优点是只要能成功备份尾日志,就可以还原到日志备份内包含的任何时点("时点恢复")。当然对比前二种模式它是牺牲了磁盘I/O性能。 恢复模式 备份策略 数据安全性 I/O性能 简单恢复 完整备份阅读全文

posted @ 2018-08-14 09:10 花阴偷移 阅读(197) 评论(2) 编辑

[置顶]mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)

摘要: 1. innodb_lock_wait_timeout mysql 可以自动监测行锁导致的死锁并进行相应的处理,但是对于表锁导致的死锁不能自动监测,所以该参数主要用于,出现类似情况的时候等待指定的时间后回滚。系统默认值是50秒。用户可以根据业务自行设置。生产环境不推荐使用过大的 innodb_loc阅读全文

posted @ 2018-08-13 18:38 花阴偷移 阅读(32) 评论(0) 编辑

[置顶]sql server 备份与恢复系列四 大容量模式下的备份与还原

摘要: 一. 概述 在sql server 备份与恢复系列的第一篇里,有讲到大容量模式下备份与还原的相关知识。这篇重点来演示在大容量模式下常用的备份与还原模式“完整备份+差异备份+日志备份”。 在大容量恢复模式下,特别要注意的是在什么情况下会导致数据还原丢失风险,带着这个问题,来进行演示说明。备份策略如下图阅读全文

posted @ 2018-08-13 10:54 花阴偷移 阅读(270) 评论(0) 编辑

[置顶]sql server 性能调优 资源等待之网络I/O

摘要: 一.概述 与网络I/O相关的等待的主要是ASYNC_NETWORK_IO,是指当sql server返回数据结果集给客户端的时候,会先将结果集填充到输出缓存里(ouput cache),同时网络层会开始将输出缓存里的数据打包,由客户端接收。如果客户端接收数据包慢,sql server没有地方存放新数阅读全文

posted @ 2018-08-11 16:43 花阴偷移 阅读(217) 评论(0) 编辑

[置顶]mysql 开发进阶篇系列 19 MySQL Server(innodb_flush_log_at_trx_commit与sync_binlog)

摘要: 一. innodb_flush_log_at_trx_commit 这个参数名称有个log,一看就是与日志有关。是指:用来控制缓冲区(log buffer)中的数据写入到日志文件(log file),以及日志文件数据刷新到磁盘(flush)的操作时机。对这个参数的设置值,可以对数据库在性能与数据安全阅读全文

posted @ 2018-08-10 17:56 花阴偷移 阅读(55) 评论(2) 编辑

[置顶]mysql 开发进阶篇系列 18 MySQL Server(innodb_buffer_pool_size)

摘要: 从这篇开始,讲innodb存储引擎中,对于几个重要的服务器参数配置。这些参数以innodb_xx 开头。 1. innodb_buffer_pool_size的设置 这个参数定义了innodb存储引擎的表数据和索引数据的最大内存缓冲区大小,和myisam不同,myisam的key_buffer_si阅读全文

posted @ 2018-08-09 17:41 花阴偷移 阅读(67) 评论(1) 编辑

[置顶]sql server 备份与恢复系列三 简单恢复模式下的备份与还原

摘要: 一.概述 前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原。在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重要,一般不建议使用这种模式。 例如对一个数据库有5次完整数据备份,时间是t5, 之后发生灾难,就会部阅读全文

posted @ 2018-08-09 10:04 花阴偷移 阅读(224) 评论(1) 编辑

[置顶]mysql 开发进阶篇系列 17 MySQL Server(key_buffer与table_cache)

摘要: 一.key_buffer 上一篇了解key_buffer设置,key_buffer_size指定了索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_read阅读全文

posted @ 2018-08-08 17:38 花阴偷移 阅读(33) 评论(0) 编辑

[置顶]sql server 性能调优 资源等待之内存瓶颈的三种等待类型

摘要: 一.概述 这篇介绍Stolen内存相关的主要三种等待类型以及对应的waittype编号,CMEMTHREAD(0x00B9),SOS_RESERVEDMEMBLOCKLIST(0x007B),RESOURCE_SEMAPHORE_QUERY_COMPILE(0x011A)。也可以通过sysproce阅读全文

posted @ 2018-08-08 17:34 花阴偷移 阅读(280) 评论(2) 编辑

[置顶]sql server 备份与恢复系列二 事务日志概述

摘要: 1.1 日志文件与数据文件一致性 在上一章备份与恢复里了解到事务日志的重要性,这篇重点来了解事务日志。 事务日志记录了数据库所有的改变,能恢复该数据库到改变之前的任意状态。在sql server实例每次启动时都会去检查数据文件与日志文件的一致性。 包括日志记录的任何已提交的数据必须体现在数据文件上,阅读全文

posted @ 2018-08-06 17:04 花阴偷移 阅读(163) 评论(0) 编辑

[置顶]sql server 备份与恢复系列一 必备知识

摘要: 一.备份概述 数据安全是数据库的生命,数据库在使用过程中难免会遇到如:使用者的误操作或是被恶意修改,硬件故障导致数据文件无法被访问,自然灾害导致机房在物理上的损毁。本章从备份与恢复的功能作为解决问题的切入点。在实际工作中会遇到:使用什么样的备份策略(比如完整备份,文件备份,差异备份,日志备份),如何阅读全文

posted @ 2018-08-06 12:01 花阴偷移 阅读(90) 评论(0) 编辑

[置顶]sql server 日志文件结构及误操作数据找回

摘要: 一. 概述 在sql server 里有数据文件.mdf和日志文件.ldf,日志文件是sqlserver数据库的另一个重要组成部分,日志文件记录了所有事务以及每个事务对数据库所做的修改。为了提高数据库的性能, sqlserver 数据是缓存在内存里,并没有实时写入到磁盘,直到数据库出现检查点(che阅读全文

posted @ 2018-07-30 16:30 花阴偷移 阅读(292) 评论(0) 编辑

[置顶]sql server 索引阐述系列八 统计信息

摘要: 一.概述 sql server在快速查询值时只有索引还不够,还需要知道操作要处理的数据量有多少,从而估算出复杂度,选择一个代价小的执行计划,这样sql server就知道了数据的分布情况。索引的统计值信息,还内置策略用来在没有索引的属性列上创建统计值。在有索引和没有索引的属性列上统计值信息会被自动维阅读全文

posted @ 2018-07-30 09:54 花阴偷移 阅读(264) 评论(0) 编辑

[置顶]sql server 索引阐述系列七 索引填充因子与碎片

摘要: 一.概述 索引填充因子作用:提供填充因子选项是为了优化索引数据存储和性能。 当创建或重新生成索引时,填充因子的值可确定每个叶级页上要填充数据的空间百分比,以便在每一页上保留一些剩余存储空间作为以后扩展索引的可用空间,例如:指定填充因子的值为 80 表示每个叶级页上将有 20% 的空间保留为空,以便随阅读全文

posted @ 2018-07-27 11:23 花阴偷移 阅读(169) 评论(0) 编辑

[置顶]sql server 索引阐述系列六 碎片查看与解决方案

摘要: 一 . dm_db_index_physical_stats 重要字段说明 1.1 内部碎片:是avg_page_space_used_in_percent字段。是指页的填充度,为了使磁盘使用状况达到最优,对于没有很多随机插入的索引,此值应接近 100%。 但是,对于具有很多随机插入且页很满的索引,阅读全文

posted @ 2018-07-26 18:14 花阴偷移 阅读(58) 评论(0) 编辑

[置顶]sql server 索引阐述系列五 索引参数与碎片

摘要: 1.1 Filefactor参数 使用Filefactor可以对索引的每个叶子分页存储保留一些空间。对于聚集索引,叶级别包含了数据,使用Filefactor来控制表的保留空间,通过预留的空间,避免了新的数据按顺序插入时,需腾出空位而进行分页分隔。 Filefactor设置生效注意,只有在创建索引时才阅读全文

posted @ 2018-07-25 18:00 花阴偷移 阅读(204) 评论(0) 编辑

2018年8月17日

mysql 开发进阶篇系列 24 查询缓存下

摘要: 一. 查询缓存 1.开启缓存 设置了缓存开启,缓存最大限制128M,重启服务后,再次查询 2 测试缓存 现在是缓存2次,命中一次 上面是二个查询sql语句,此时缓存数是4,如下图所示: 此时缓存数是6,说明缓存区分where条件值的大小写。同样也会区分sql关键词的大小写。如下图所示: 设置好que阅读全文

posted @ 2018-08-17 11:05 花阴偷移 阅读(20) 评论(0) 编辑

2018年8月16日

mysql 开发进阶篇系列 23 应用层优化与查询缓存

摘要: 一.概述 前面章节介绍了很多数据库的优化措施,但在实际生产环境中,由于数据库服务器本身的性能局限,就必须要对前台的应用来进行优化,使得前台访问数据库的压力能够减到最小。 1. 使用连接池 对于访问数据库来说,建立连接的代价比较昂贵,因为连接到数据库服务器需要经历多个步骤如:建立物理通道,服务器进行初阅读全文

posted @ 2018-08-16 17:44 花阴偷移 阅读(183) 评论(0) 编辑

2018年8月15日

mysql 开发进阶篇系列 22 磁盘I/O问题(从linux操作系统上优化)

摘要: 1. 使用Symbolic Links分布I/O mysql的数据库名和表名是与文件系统的目录名和文件名对应的,默认情况下,创建的数据库和表都存放在参数datadir定义的目录下。如果不使用RAID或逻辑卷,所有的表都放在一个磁盘设置上,无法发挥多磁盘并行读写的优势。这种情况,我们可以利用操作系统的阅读全文

posted @ 2018-08-15 18:24 花阴偷移 阅读(41) 评论(0) 编辑

2018年8月14日

mysql 开发进阶篇系列 21 磁盘I/O问题(RAID)

摘要: 一.概述 作为应用系统的持久化层,不管数据库采取了什么样的Cache机制,数据库最终总是要将数据储存到可以长久保存的I/O设备磁盘上。但磁盘的存取速度显然要比cpu,ram的速度慢很多。因此,对于比较大的数据库,磁盘I/0 一般总会总为数据库的一个性能瓶颈。 ram:又称作“随机存储器”,是与CPU阅读全文

posted @ 2018-08-14 18:20 花阴偷移 阅读(52) 评论(0) 编辑

sql server 备份与恢复系列五 完整模式下的备份与还原

摘要: 一.概述 前面介绍了简单恢复模式和大容量恢复模式,这篇继续写完整恢复模式下的备份与还原。在完整恢复模式里最大的优点是只要能成功备份尾日志,就可以还原到日志备份内包含的任何时点("时点恢复")。当然对比前二种模式它是牺牲了磁盘I/O性能。 恢复模式 备份策略 数据安全性 I/O性能 简单恢复 完整备份阅读全文

posted @ 2018-08-14 09:10 花阴偷移 阅读(197) 评论(2) 编辑

2018年8月13日

mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)

摘要: 1. innodb_lock_wait_timeout mysql 可以自动监测行锁导致的死锁并进行相应的处理,但是对于表锁导致的死锁不能自动监测,所以该参数主要用于,出现类似情况的时候等待指定的时间后回滚。系统默认值是50秒。用户可以根据业务自行设置。生产环境不推荐使用过大的 innodb_loc阅读全文

posted @ 2018-08-13 18:38 花阴偷移 阅读(32) 评论(0) 编辑

sql server 备份与恢复系列四 大容量模式下的备份与还原

摘要: 一. 概述 在sql server 备份与恢复系列的第一篇里,有讲到大容量模式下备份与还原的相关知识。这篇重点来演示在大容量模式下常用的备份与还原模式“完整备份+差异备份+日志备份”。 在大容量恢复模式下,特别要注意的是在什么情况下会导致数据还原丢失风险,带着这个问题,来进行演示说明。备份策略如下图阅读全文

posted @ 2018-08-13 10:54 花阴偷移 阅读(270) 评论(0) 编辑

2018年8月11日

sql server 性能调优 资源等待之网络I/O

摘要: 一.概述 与网络I/O相关的等待的主要是ASYNC_NETWORK_IO,是指当sql server返回数据结果集给客户端的时候,会先将结果集填充到输出缓存里(ouput cache),同时网络层会开始将输出缓存里的数据打包,由客户端接收。如果客户端接收数据包慢,sql server没有地方存放新数阅读全文

posted @ 2018-08-11 16:43 花阴偷移 阅读(217) 评论(0) 编辑

2018年8月10日

mysql 开发进阶篇系列 19 MySQL Server(innodb_flush_log_at_trx_commit与sync_binlog)

摘要: 一. innodb_flush_log_at_trx_commit 这个参数名称有个log,一看就是与日志有关。是指:用来控制缓冲区(log buffer)中的数据写入到日志文件(log file),以及日志文件数据刷新到磁盘(flush)的操作时机。对这个参数的设置值,可以对数据库在性能与数据安全阅读全文

posted @ 2018-08-10 17:56 花阴偷移 阅读(55) 评论(2) 编辑

2018年8月9日

mysql 开发进阶篇系列 18 MySQL Server(innodb_buffer_pool_size)

摘要: 从这篇开始,讲innodb存储引擎中,对于几个重要的服务器参数配置。这些参数以innodb_xx 开头。 1. innodb_buffer_pool_size的设置 这个参数定义了innodb存储引擎的表数据和索引数据的最大内存缓冲区大小,和myisam不同,myisam的key_buffer_si阅读全文

posted @ 2018-08-09 17:41 花阴偷移 阅读(67) 评论(1) 编辑

导航

公告