MYSQL数据库技术分享_第1页
MYSQL数据库技术分享_第2页
MYSQL数据库技术分享_第3页
MYSQL数据库技术分享_第4页
MYSQL数据库技术分享_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术共享,1,内容提要,数据库参数介绍低速SQL定位和分析SQL优化常见问题,数据库参数优化, MYSQL参数分成几个块:客户端由MYSQL客户端应用程序读取-执行mysqld -MySQL服务端设置(如端口设置)mysqldump-后读取,如内存连接。 内存部分: InnoDB_buffer_pool_size缓冲池的字节大小、innodb高速缓存表和索引数据的内存区域,我们做的99%的操作在理论上越大,效率越高,设定越大o很少. #在独立使用的数据库服务器上使用该变量的服务器物理内存大小的80 % (innodb _ buffer _ pool _ pages _ data/inno

2、db _ buffer _ pool _ pages _ total ) 可以设置innodb _ additional _ mem _ pool _ size参数,以设置innodb存储的数据目录信息和其他内部数据结构的内存池大小。 应用程序中的表越多,就越需要在这里分配内存。 在相对稳定的应用程序中,该参数的大小也比较稳定,无需确保非常大的值。 InnoDB用完池中的内存后,InnoDB开始从操作系统分配内存,并在MySQL错误日志中写入警告消息。 默认值为1MB,如果发现与错误日志相关的警告消息,则必须适当增加此参数的大小InnoDB_log_buffer_size。 直接写入log会影

3、响innodb的性能。 此参数设定log buffer的大小,默认值为4M或8M。通常只要设定1秒的写入量,key_buffer_size myisam引擎就能存储索引数据文件。 因为现在使用的是INNODB,所以不怎么被使用。 数据库参数优化文件部分: datadir=/data/mysqldata设置数据库文件的存储位置character-set-server=utf8字符集innodb_file_per_table三个表所有数据文件都是一个文件,优化数据库参数,在具有大量表的环境中会增加I/O负载,连接部分: skip-name-resolve对DNS进行反地址查询,直到超时失败才能连接

4、。 此选项禁止DNS反响查询back_log参数的值指示在MySQL暂时不响应新请求的短时间内存在多少请求。 如果系统在短时间内有很多连接,则此参数的值max_connections数据库必须能够承受sort_buffer_size的最大连接数。 每个连接必须分配这么多。 请不要增大1M max_allowed_packet,设置服务器接收的包的大小。查询返回的最大大小thread_cache_size的近似值表示可以重用缓存中存储的线程数。 如果在连接断开时高速缓存中有空闲空间,则客户端的线程将被放入高速缓存中,如果重新请求线程,则从高速缓存中读取请求,如果高速缓存中有空闲空间或有新请求,则

5、重新创建线程,如果有很多新线程,请将此值设置为256-512、数据库参数优化慢日志: slow_query_log=ON慢日志将long_query_time设定为on的执行时间超过几秒的SQL, slow_query_log_file慢日志的位置名称log_queries_not_using_indexes是否记录不使用索引的SQL, 优化数据库参数磁盘io:mysql的磁盘写入策略和控制数据安全性的重要参数sync_binlog事务被提交后,MySQL以什么频率执行磁盘同步命令,binlog _ binlog=0事务提交后,MySQL将binlog_cache中的信息更新到磁盘,而不执行诸

6、如fsync之类的磁盘同步命令,并确定Filesystem要同步的时间,或在cache满了之后与磁盘同步=n MySQL执行fsync等磁盘同步命令,强制将binlog_cache内的数据写入到磁盘中。0性能最好,1数据最安全,忙系统中写入性能相差35倍的innodb_flush_log_at_trx_commit如何将日志刷新到磁盘=0,log buffer 在此模式下,事务提交时,对磁盘的写入不会主动触发。=1、每次提交事务时,MySQL都会将日志缓冲器数据写入日志文件,并删除闪存(flush )。=2、每次提交事务时,MySQL会将log buffer的数据写入log file .但不会

7、同时进行闪存(flush )操作。 在此模式下,MySQL每秒执行一次闪存(flush )操作。 0性能最好,1数据最安全,数据库参数优化,数据库参数优化,参数设置显示方法:数据库慢SQL,慢SQL参数设置,慢日志显示,数据库慢SQL,慢SQL的Userhost执行帐户和服务器IP Query_time此sql执行了多少,数据库慢的sql,慢的sql是如何识别的: Mysqldumpslow工具:参数-s是如何排序的按query time、lock time、rows sent的总数排序,如何识别数据库慢的sql、慢的SQL:2.show process list/showfullproces

8、slist; id#ididid通常以休眠、查询、连接时间#持续时间为单位,指示用于kill语句的用户#当前连接用户host #正在从哪个ip的哪个端口发出db #数据库名称command #连接状态表示当前sql语句的状态的info #表示该sql语句state包含以下内容(Checking table,Closing tables,Copying to tmp table on disk,creattmptable,Killed )。 的双曲馀弦值。 的双曲馀弦值。 )您如何知道数据库有慢SQL、慢SQL :数据库慢SQL,慢SQL: explain工具显示执行计划,数据库慢SQL,慢SQ

9、L: explain工具显示执行计划,数据库慢SQL: explain工具显示执行计划,数据库分析慢SQL低速SQL的方法: explain工具分析执行计划,数据库低速SQL的方法: explain工具显示执行计划类型的执行效率,从左到右,从最差到最高,数据库低速SQL的分析方法:显示explain工具执行计划,数据库低速SQL低速SQL的分析方法: explain工具执行计划的例子:数据库低速SQL,低速SQL的分析方法:显示explain工具执行计划,数据库低速SQL, 低速SQL的分析方法: showprofileexplain显示执行计划,理解SQL如何解体,profile显示SQL在哪里失去了性能。 数据库慢SQL、慢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论