《MySQL介绍和优化分享》由会员分享,可在线阅读,更多相关《MySQL介绍和优化分享(37页珍藏版)》请在金锄头文库上搜索。
1、MySQL介绍和优化分享介绍和优化分享2009-07l lMySQLMySQL基本介绍基本介绍l lMySQLMySQL优化方式优化方式l lMySQLMySQL技巧分享技巧分享l lQ Q & & A A目录索引目录索引MySQLMySQL基本介绍基本介绍什么是什么是MySQLMySQLMySQLMySQL是一个小型关系型数据库管理系统,开发者为瑞典是一个小型关系型数据库管理系统,开发者为瑞典是一个小型关系型数据库管理系统,开发者为瑞典是一个小型关系型数据库管理系统,开发者为瑞典MySQLABMySQLAB公司。目前公司。目前公司。目前公司。目前MySQLMySQL被广泛地应用在被广泛地应用
2、在被广泛地应用在被广泛地应用在InternetInternet上的中小型网上的中小型网上的中小型网上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了一特点,许多中小型网站为了降低网站总体拥有成本而选择了一特点,许多中小型网站为了降低网站总体拥有成本而选择了一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQLMySQL作为网站数据库
3、。作为网站数据库。作为网站数据库。作为网站数据库。MySQLMySQL官方网站:官方网站:官方网站:官方网站:谁在用谁在用MySQLMySQLMySQLMySQL历史历史 19791979年,年,年,年, 报表工具,数据引擎报表工具,数据引擎报表工具,数据引擎报表工具,数据引擎 19961996年,年,年,年,MySQL1.0(3.11.1)MySQL1.0(3.11.1)发布,支持发布,支持发布,支持发布,支持SQLSQL 20002000年,成立年,成立年,成立年,成立 MySQLABMySQLAB公司公司公司公司 20082008年年年年1 1月,月,月,月,SunSun公司以公司以公司
4、以公司以1010亿美元收购亿美元收购亿美元收购亿美元收购MySQLABMySQLAB公司公司公司公司 20092009年年年年4 4月,月,月,月,OracleOracle公司以公司以公司以公司以7474亿美元收购亿美元收购亿美元收购亿美元收购SunSun公司公司公司公司MySQLMySQL里程碑里程碑 3.11.1Firstpublicrelease3.11.1Firstpublicrelease 3.233.23集成集成集成集成BerkeleyDB,BerkeleyDB,支持事务,抽象出支持事务,抽象出支持事务,抽象出支持事务,抽象出StorageEngineStorageEngine 4
5、.04.0集成集成集成集成InnoDBInnoDB 4.14.1重大改进,子查询、重大改进,子查询、重大改进,子查询、重大改进,子查询、unicodeunicode、c/sc/s通信协议通信协议通信协议通信协议 5.0storedprocedure5.0storedprocedure、viewview、triggerstriggers、queryoptimizerqueryoptimizer 5.1FileNDB5.1FileNDB、recordreplication.recordreplication.MySQLMySQL架构架构MySQLMySQL存储引擎比较存储引擎比较MyISAM My
6、ISAM MyISAM MyISAM 特点特点特点特点MyISAM vs InnoDB MyISAM vs InnoDB 数据存储方式简单,使用数据存储方式简单,使用数据存储方式简单,使用数据存储方式简单,使用 B+TreeB+Tree进行索引进行索引进行索引进行索引 使用三个文件定义一个表:使用三个文件定义一个表:使用三个文件定义一个表:使用三个文件定义一个表:.MYI.MYD.frm.MYI.MYD.frm 少碎片、支持大文件、能够进行索引压缩少碎片、支持大文件、能够进行索引压缩少碎片、支持大文件、能够进行索引压缩少碎片、支持大文件、能够进行索引压缩 二进制层次的文件可以移植二进制层次的文
7、件可以移植二进制层次的文件可以移植二进制层次的文件可以移植 (Linux(LinuxWindows)Windows) 访问速度飞快,是所有访问速度飞快,是所有访问速度飞快,是所有访问速度飞快,是所有MySQLMySQL文件引擎中速度最快的文件引擎中速度最快的文件引擎中速度最快的文件引擎中速度最快的 不支持一些数据库特性,比如不支持一些数据库特性,比如不支持一些数据库特性,比如不支持一些数据库特性,比如 事务、外键约束等事务、外键约束等事务、外键约束等事务、外键约束等 TablelevellockTablelevellock,性能稍差,更适合读取多的操作,性能稍差,更适合读取多的操作,性能稍差,
8、更适合读取多的操作,性能稍差,更适合读取多的操作 表数据容量有限,一般建议单表数据量介于表数据容量有限,一般建议单表数据量介于表数据容量有限,一般建议单表数据量介于表数据容量有限,一般建议单表数据量介于 50w200w50w200w 增删查改以后要使用增删查改以后要使用增删查改以后要使用增删查改以后要使用 myisamchkmyisamchk检查优化表检查优化表检查优化表检查优化表MyISAM MyISAM MyISAM MyISAM 存储结构存储结构存储结构存储结构MyISAM vs InnoDB MyISAM vs InnoDB MyISAM MyISAM MyISAM MyISAM 索引
9、结构索引结构索引结构索引结构MyISAM vs InnoDB MyISAM vs InnoDB InnoDB InnoDB InnoDB InnoDB 特点特点特点特点MyISAM vs InnoDB MyISAM vs InnoDB 使用使用使用使用 TableSpaceTableSpace的方式来进行数据存储的方式来进行数据存储的方式来进行数据存储的方式来进行数据存储 ( (ibdata1,ib_logfile0ibdata1,ib_logfile0) ) 支持支持支持支持 事务、外键约束等数据库特性事务、外键约束等数据库特性事务、外键约束等数据库特性事务、外键约束等数据库特性 Rowsl
10、evellock,Rowslevellock,读写性能都非常优秀读写性能都非常优秀读写性能都非常优秀读写性能都非常优秀 能够承载大数据量的存储和访问能够承载大数据量的存储和访问能够承载大数据量的存储和访问能够承载大数据量的存储和访问 拥有自己独立的缓冲池,能够缓存数据和索引拥有自己独立的缓冲池,能够缓存数据和索引拥有自己独立的缓冲池,能够缓存数据和索引拥有自己独立的缓冲池,能够缓存数据和索引 在关闭自动提交的情况下,与在关闭自动提交的情况下,与在关闭自动提交的情况下,与在关闭自动提交的情况下,与MyISAMMyISAM引擎速度差异不大引擎速度差异不大引擎速度差异不大引擎速度差异不大InnoDB
11、 InnoDB InnoDB InnoDB 数据结构数据结构数据结构数据结构MyISAM vs InnoDB MyISAM vs InnoDB MyISAM vs InnoDB MyISAM vs InnoDB 性能测试性能测试 测试结果测试结果测试结果测试结果MyISAM vs InnoDB MyISAM vs InnoDB 性能测试性能测试 可以看出在可以看出在MySQL5.0里面,里面,MyISAM和和InnoDB存储引擎性能差别并不是存储引擎性能差别并不是很大,针对很大,针对InnoDB来说,影响性能的主要是来说,影响性能的主要是 innodb_flush_log_at_trx_com
12、mitinnodb_flush_log_at_trx_commit这个选项,如果设置为这个选项,如果设置为这个选项,如果设置为这个选项,如果设置为1 1的话,那么每次的话,那么每次的话,那么每次的话,那么每次插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有关系,设置为关系,设置为关系,设置为关系,设置为0 0效率能够看到明显提升,当然,同样你可以效率能够看到明显提升,当然,同样你可以效率能
13、够看到明显提升,当然,同样你可以效率能够看到明显提升,当然,同样你可以SQLSQL中提交中提交中提交中提交“ “SETAUTOCOMMIT=0”SETAUTOCOMMIT=0”来设置达到好的性能。来设置达到好的性能。来设置达到好的性能。来设置达到好的性能。同时也可以看出值得使用同时也可以看出值得使用同时也可以看出值得使用同时也可以看出值得使用 InnoDBInnoDB来替代来替代来替代来替代 MyISAMMyISAM引擎来进行开发,毕竟引擎来进行开发,毕竟引擎来进行开发,毕竟引擎来进行开发,毕竟InnoDBInnoDB有多数据库特性、更良好的数据存储性能和查询性能有多数据库特性、更良好的数据存
14、储性能和查询性能有多数据库特性、更良好的数据存储性能和查询性能有多数据库特性、更良好的数据存储性能和查询性能MySQLMySQL优化方式优化方式l l系统优化:硬件、架构系统优化:硬件、架构l l服务优化服务优化l l应用优化应用优化MySQL优化方式优化方式l l使用好的硬件,更快的硬盘、大内存、多核使用好的硬件,更快的硬盘、大内存、多核使用好的硬件,更快的硬盘、大内存、多核使用好的硬件,更快的硬盘、大内存、多核CPUCPUCPUCPU,专业的存,专业的存,专业的存,专业的存储服务器(储服务器(储服务器(储服务器(NASNASNASNAS、SANSANSANSAN)l l设计合理架构,设计合
15、理架构,设计合理架构,设计合理架构,如果如果如果如果 MySQL MySQL MySQL MySQL 访问频繁,考虑访问频繁,考虑访问频繁,考虑访问频繁,考虑 Master/Slave Master/Slave Master/Slave Master/Slave 读写分离;读写分离;读写分离;读写分离;数据库分表、数据库切片(分布式),也考虑使数据库分表、数据库切片(分布式),也考虑使数据库分表、数据库切片(分布式),也考虑使数据库分表、数据库切片(分布式),也考虑使用相应缓存服务帮助用相应缓存服务帮助用相应缓存服务帮助用相应缓存服务帮助 MySQL MySQL MySQL MySQL 缓解访
16、问压力缓解访问压力缓解访问压力缓解访问压力系统优化系统优化l l配置合理的配置合理的配置合理的配置合理的MySQLMySQLMySQLMySQL服务器,尽量在应用本身达到一个服务器,尽量在应用本身达到一个服务器,尽量在应用本身达到一个服务器,尽量在应用本身达到一个MySQLMySQLMySQLMySQL最最最最合理的使用合理的使用合理的使用合理的使用l l针对针对针对针对 MyISAM MyISAM MyISAM MyISAM 或或或或 InnoDB InnoDB InnoDB InnoDB 不同引擎进行不同定制性配置不同引擎进行不同定制性配置不同引擎进行不同定制性配置不同引擎进行不同定制性配
17、置l l针对不同的应用情况进行合理配置针对不同的应用情况进行合理配置针对不同的应用情况进行合理配置针对不同的应用情况进行合理配置l l针对针对针对针对 f f f f 进行配置,后面设置是针对内存为进行配置,后面设置是针对内存为进行配置,后面设置是针对内存为进行配置,后面设置是针对内存为2G2G2G2G的服务器的服务器的服务器的服务器进行的合理设置进行的合理设置进行的合理设置进行的合理设置服务优化服务优化MySQLMySQL配置原则配置原则配置原则配置原则 服务优化服务优化公共选项公共选项公共选项公共选项服务优化服务优化MyISAMMyISAM选项选项选项选项服务优化服务优化InnoDBInn
18、oDB选项选项选项选项l l设计合理的数据表结构:适当的数据冗余设计合理的数据表结构:适当的数据冗余设计合理的数据表结构:适当的数据冗余设计合理的数据表结构:适当的数据冗余l l对数据表建立合适有效的数据库索引对数据表建立合适有效的数据库索引对数据表建立合适有效的数据库索引对数据表建立合适有效的数据库索引l l数据查询:编写简洁高效的数据查询:编写简洁高效的数据查询:编写简洁高效的数据查询:编写简洁高效的SQLSQLSQLSQL语句语句语句语句应用优化应用优化应用优化方式应用优化方式应用优化方式应用优化方式 应用优化应用优化表结构设计原则表结构设计原则表结构设计原则表结构设计原则n n 选择合
19、适的数据类型:如果能够定长尽量定长选择合适的数据类型:如果能够定长尽量定长选择合适的数据类型:如果能够定长尽量定长选择合适的数据类型:如果能够定长尽量定长n n 不要使用无法加索引的类型作为关键字段,比如不要使用无法加索引的类型作为关键字段,比如不要使用无法加索引的类型作为关键字段,比如不要使用无法加索引的类型作为关键字段,比如 texttext类型类型类型类型n n 为了避免联表查询,有时候可以适当的数据冗余,比如为了避免联表查询,有时候可以适当的数据冗余,比如为了避免联表查询,有时候可以适当的数据冗余,比如为了避免联表查询,有时候可以适当的数据冗余,比如 邮箱、姓名这些不容易更改的数据邮箱
20、、姓名这些不容易更改的数据邮箱、姓名这些不容易更改的数据邮箱、姓名这些不容易更改的数据n n 选择合适的表引擎,有时候选择合适的表引擎,有时候选择合适的表引擎,有时候选择合适的表引擎,有时候 MyISAMMyISAM适合,有时候适合,有时候适合,有时候适合,有时候 InnoDBInnoDB适合适合适合适合n n 为保证查询性能,最好每个表都建立有为保证查询性能,最好每个表都建立有为保证查询性能,最好每个表都建立有为保证查询性能,最好每个表都建立有 auto_incrementauto_increment字段,字段,字段,字段, 建立合适的数据库索引建立合适的数据库索引建立合适的数据库索引建立合
21、适的数据库索引n n 最好给每个字段都设定最好给每个字段都设定最好给每个字段都设定最好给每个字段都设定 defaultdefault值值值值应用优化应用优化索引建立原则索引建立原则索引建立原则索引建立原则n n 一般针对数据分散的关键字进行建立索引,比如一般针对数据分散的关键字进行建立索引,比如一般针对数据分散的关键字进行建立索引,比如一般针对数据分散的关键字进行建立索引,比如IDID、QQQQ,像性别、状态值等等建立索引没有意义像性别、状态值等等建立索引没有意义像性别、状态值等等建立索引没有意义像性别、状态值等等建立索引没有意义n n 尽量使用短索引,一般对尽量使用短索引,一般对尽量使用短索
22、引,一般对尽量使用短索引,一般对intint、char/varcharchar/varchar、date/timedate/time等等等等类型的字段建立索引类型的字段建立索引类型的字段建立索引类型的字段建立索引n n 需要的时候建立联合索引,但是要注意查询需要的时候建立联合索引,但是要注意查询需要的时候建立联合索引,但是要注意查询需要的时候建立联合索引,但是要注意查询SQLSQL语句的编写语句的编写语句的编写语句的编写n n 谨慎建立谨慎建立谨慎建立谨慎建立 uniqueunique类型的索引(唯一索引)类型的索引(唯一索引)类型的索引(唯一索引)类型的索引(唯一索引)n n 一般建议每条记
23、录最好有一个能快速定位的独一无二定位的一般建议每条记录最好有一个能快速定位的独一无二定位的一般建议每条记录最好有一个能快速定位的独一无二定位的一般建议每条记录最好有一个能快速定位的独一无二定位的唯一标示(索引)唯一标示(索引)唯一标示(索引)唯一标示(索引)n n 不要过度索引,单表建立的索引不要超过不要过度索引,单表建立的索引不要超过不要过度索引,单表建立的索引不要超过不要过度索引,单表建立的索引不要超过5 5个,否则更新索个,否则更新索个,否则更新索个,否则更新索引将很耗时引将很耗时引将很耗时引将很耗时应用优化应用优化编写高效的编写高效的编写高效的编写高效的 SQLSQLSQLSQLn n
24、 能够快速缩小结果集的能够快速缩小结果集的能够快速缩小结果集的能够快速缩小结果集的 WHEREWHERE条件写在前面,如果有恒量条件,条件写在前面,如果有恒量条件,条件写在前面,如果有恒量条件,条件写在前面,如果有恒量条件,也尽量放在前面也尽量放在前面也尽量放在前面也尽量放在前面n n 尽量避免使用尽量避免使用尽量避免使用尽量避免使用 GROUPBYGROUPBY、DISTINCTDISTINCT、OROR、ININ等语句的使用,等语句的使用,等语句的使用,等语句的使用,避免使用联表查询和子查询,因为将使执行效率大大下降避免使用联表查询和子查询,因为将使执行效率大大下降避免使用联表查询和子查询
25、,因为将使执行效率大大下降避免使用联表查询和子查询,因为将使执行效率大大下降n n 能够使用索引的字段尽量进行有效的合理排列,如果使用了能够使用索引的字段尽量进行有效的合理排列,如果使用了能够使用索引的字段尽量进行有效的合理排列,如果使用了能够使用索引的字段尽量进行有效的合理排列,如果使用了联合索引,请注意提取字段的前后顺序联合索引,请注意提取字段的前后顺序联合索引,请注意提取字段的前后顺序联合索引,请注意提取字段的前后顺序n n 针对索引字段使用针对索引字段使用针对索引字段使用针对索引字段使用 ,=,=,=,=,=,IFNULL和和和和BETWEENBETWEEN将会使用将会使用将会使用将会
26、使用索引,索引,索引,索引, 如果对某个索引字段进行如果对某个索引字段进行如果对某个索引字段进行如果对某个索引字段进行 LIKELIKE查询,使用查询,使用查询,使用查询,使用 LIKE%abc%LIKE%abc%不能使用索引,使用不能使用索引,使用不能使用索引,使用不能使用索引,使用 LIKEabc%LIKEabc%将能够使用索引将能够使用索引将能够使用索引将能够使用索引n n 如果在如果在如果在如果在SQLSQL里使用了里使用了里使用了里使用了MySQLMySQL部分自带函数,索引将失效,同时将无法部分自带函数,索引将失效,同时将无法部分自带函数,索引将失效,同时将无法部分自带函数,索引将
27、失效,同时将无法使用使用使用使用 MySQLMySQL的的的的 QueryCacheQueryCache,比如,比如,比如,比如 LEFT(),SUBSTR(),LEFT(),SUBSTR(),TO_DAYS()TO_DAYS()DATE_FORMAT(),DATE_FORMAT(),等,如果使用了等,如果使用了等,如果使用了等,如果使用了 OROR或或或或 ININ,索引也将失效,索引也将失效,索引也将失效,索引也将失效n n 使用使用使用使用 ExplainExplain语句来帮助改进我们的语句来帮助改进我们的语句来帮助改进我们的语句来帮助改进我们的SQLSQL语句语句语句语句MySQLM
28、ySQL技巧分享技巧分享MySQLMySQL技巧分享技巧分享常用技巧常用技巧常用技巧常用技巧n n 使用使用使用使用 Explain/DESCExplain/DESC来分析来分析来分析来分析SQLSQL的执行情况的执行情况的执行情况的执行情况n n 使用使用使用使用 SHOWPROCESSLISTSHOWPROCESSLIST来查看当前来查看当前来查看当前来查看当前MySQLMySQL服务器线程服务器线程服务器线程服务器线程执行情况,是否锁表,查看相应的执行情况,是否锁表,查看相应的执行情况,是否锁表,查看相应的执行情况,是否锁表,查看相应的SQLSQL语句语句语句语句n n 设置设置设置设置
29、 f中的中的中的中的 long-query-timelong-query-time和和和和 log-slow-querieslog-slow-queries能够能够能够能够记录服务器那些记录服务器那些记录服务器那些记录服务器那些SQLSQL执行速度比较慢执行速度比较慢执行速度比较慢执行速度比较慢n n 另外有用的几个查询:另外有用的几个查询:另外有用的几个查询:另外有用的几个查询:SHOWVARIABLESSHOWVARIABLES、SHOWSHOWSTATUSSTATUS、SHOWENGINESSHOWENGINESn n 使用使用使用使用 DESCTABLExxxDESCTABLExxx来
30、查看表结构,使用来查看表结构,使用来查看表结构,使用来查看表结构,使用 SHOWINDEXSHOWINDEXFROMxxxFROMxxx来查看表索引来查看表索引来查看表索引来查看表索引n n 使用使用使用使用 LOADDATALOADDATA导入数据比导入数据比导入数据比导入数据比 INSERTINTOINSERTINTO快多了快多了快多了快多了n n SELECTCOUNT(*)FROMTblSELECTCOUNT(*)FROMTbl在在在在 InnoDBInnoDB中将会扫描全表中将会扫描全表中将会扫描全表中将会扫描全表MyISAMMyISAM中则效率很高中则效率很高中则效率很高中则效率很
31、高MySQL MySQL 技巧分享技巧分享Explain Explain Explain Explain 使用使用使用使用n n 语法:语法:语法:语法:EXPLAINSELECTEXPLAINSELECTselect_optionsselect_options Type:Type:类型,是否使用了索引还是全表扫描类型,是否使用了索引还是全表扫描类型,是否使用了索引还是全表扫描类型,是否使用了索引还是全表扫描,const,eg_reg,ref,range,index,ALL,const,eg_reg,ref,range,index,ALLKey:Key:实际使用上的索引是哪个字段实际使用上的索
32、引是哪个字段实际使用上的索引是哪个字段实际使用上的索引是哪个字段 Ken_len:Ken_len:真正使用了哪些索引,不为真正使用了哪些索引,不为真正使用了哪些索引,不为真正使用了哪些索引,不为 NULLNULL的就是真实使用的索引的就是真实使用的索引的就是真实使用的索引的就是真实使用的索引Ref:Ref:显示了哪些字段或者常量被用来和显示了哪些字段或者常量被用来和显示了哪些字段或者常量被用来和显示了哪些字段或者常量被用来和 keykey配合从表中查询记录出来配合从表中查询记录出来配合从表中查询记录出来配合从表中查询记录出来 Rows:Rows:显示了显示了显示了显示了MySQLMySQL认为
33、在查询中应该检索的记录数认为在查询中应该检索的记录数认为在查询中应该检索的记录数认为在查询中应该检索的记录数 Extra:Extra:显示了查询中显示了查询中显示了查询中显示了查询中MySQLMySQL的附加信息,关心的附加信息,关心的附加信息,关心的附加信息,关心UsingfilesortUsingfilesort和和和和 UsingtemporaryUsingtemporary,性能杀手,性能杀手,性能杀手,性能杀手MySQL MySQL 技巧分享技巧分享索引实践索引实践索引实践索引实践MySQL MySQL 技巧分享技巧分享函数和索引函数和索引函数和索引函数和索引MySQL MySQL
34、技巧分享技巧分享使用使用使用使用 UNION UNION UNION UNION 来取代来取代来取代来取代 IN IN IN IN 和和和和 OROROROR原原原原SQLSQL:select*fromcitywhereidin(1,3,4)select*fromcitywhereidin(1,3,4)或或或或 select*fromcitywhereid=1orid=3orid=4select*fromcitywhereid=1orid=3orid=4explain explain 结果:结果:结果:结果:idselect_typetabletypepossible_keyskeykey_l
35、enrefrowsExtraidselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1SIMPLEcityALLPRIMARYNULLNULLNULL1SIMPLEcityALLPRIMARYNULLNULLNULL5Usingwhere5Usingwhere 修改后修改后修改后修改后SQLSQL:SELECT*FROMcitywhereid=1SELECT*FROMcitywhereid=1UNIONALLSELECT*FROMcitywhereid=3UNIONALLSELECT*FROMcitywhereid=3UNIONALLS
36、ELECT*FROMcityUNIONALLSELECT*FROMcityexplain explain 结果:结果:结果:结果:idselect_typetabletypepossible_keyskeykey_lenrefrowsExtraidselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1PRIMARYcityconstPRIMARYPRIMARY41PRIMARYcityconstPRIMARYPRIMARY4const1const1 2UNIONcityconstPRIMARYPRIMARY42UNIONcitycons
37、tPRIMARYPRIMARY4const1const1 3UNIONcityconstPRIMARYPRIMARY43UNIONcityconstPRIMARYPRIMARY4const1const1 NULLUNIONRESULTALLNULLNULLNULLNULLNULLNULLUNIONRESULTALLNULLNULLNULLNULLNULL MySQL MySQL 技巧分享技巧分享MySQL Slow Log MySQL Slow Log MySQL Slow Log MySQL Slow Log 分析工具分析工具分析工具分析工具n n mysqldumpslow-mysqlmy
38、sqldumpslow-mysql官方提供的慢查询日志分析工具官方提供的慢查询日志分析工具官方提供的慢查询日志分析工具官方提供的慢查询日志分析工具 n n mysqlsla-mysqlsla-推出的一款日志分析工具,功能推出的一款日志分析工具,功能推出的一款日志分析工具,功能推出的一款日志分析工具,功能非常强大非常强大非常强大非常强大n n mysql-explain-slow-logmysql-explain-slow-log 德国工程师使用德国工程师使用德国工程师使用德国工程师使用PerlPerl开发的把开发的把开发的把开发的把SlowSlowLogLog输出到屏幕,功能简单输出到屏幕,功
39、能简单输出到屏幕,功能简单输出到屏幕,功能简单n n mysql-log-filtermysql-log-filter-Googlecode-Googlecode上一个开源产品,报表简洁上一个开源产品,报表简洁上一个开源产品,报表简洁上一个开源产品,报表简洁n n myprofimyprofi- -纯纯纯纯PHPPHP开发的开源开发的开源开发的开源开发的开源loglog查看工具,功能详细查看工具,功能详细查看工具,功能详细查看工具,功能详细MySQL MySQL 技巧分享技巧分享MySQLMySQLMySQLMySQL优化网站优化网站优化网站优化网站/ / / /书籍分享书籍分享书籍分享书籍分享n n MySQLPerformanceBlogMySQLPerformanceBlogn n MySQLMySQL中文网中文网中文网中文网n nMySQLMySQL性能调优与架构设计性能调优与架构设计性能调优与架构设计性能调优与架构设计 n n深入浅出深入浅出深入浅出深入浅出MySQLMySQLQ & AQ & A结束结束谢谢大家!谢谢大家!