mysql性能优化概要.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mysql性能优化概要

MySQL技巧分享 MySQL技巧分享 常用技巧 使用 SHOW PROCESSLIST 来查看当前MySQL服务器线程 执行情况,是否锁表,查看相应的SQL语句 设置 my.ini 中的 long-query-time 和 log-slow-queries 能够记 录服务器哪些SQL执行速度比较慢 使用 DESC TABLE xxx 来查看表结构,使用 SHOW INDEX FROM xxx 来查看表索引 使用 LOAD DATA 导入数据比 INSERT INTO 快多了 SELECT COUNT(*) FROM Tbl 在 InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。 MySQL技巧分享 SELECT查询的速度 要想使一个较慢速SELECT ... WHERE更快,应首先检查是否能增加一个索引。你可以使用EXPLAIN语句来确定SELECT语句使用哪些索引。 为了帮助MySQL更好地优化查询,在一个装载数据后的表上运行ANALYZE TABLE或myisamchk --analyze。这样为每一个索引更新指出有相同值的行的平均行数的值(当然,如果只有一个索引,这总是1。)MySQL使用该方法来决定当你联接两个基于非常量表达式的表时选择哪个索引。你可以使用SHOW INDEX FROM tbl_name并检查Cardinality值来检查表分析结果。myisamchk --description --verbose可以显示索引分布信息。 MySQL技巧分享 使用 Explain 语句来帮助改进我们的SQL语句 如果在SELECT语句前放上关键词EXPLAIN,MySQL将解释它如何处理SELECT,提供有关表如何联接和联接的次序。 EXPLAIN的每个输出行提供一个表的相关信息,并且每个行包括下面的列: id SELECT识别符。这是SELECT的查询序列号 select_type SELECT类型 table 输出的行所引用的表 type 联接类型 possible_keys possible_keys列指出MySQL能使用哪个索引在该表中找到行 key key列显示MySQL实际决定使用的键(索引) key_len key_len列显示MySQL决定使用的键长度 ref ref列显示使用哪个列或常数与key一起从表中选择行 rows rows列显示MySQL认为它执行查询时必须检查的行数 Extra 该列包含MySQL解决查询的详细信息 MySQL技巧分享 MySQL技巧分享 Explain效率检测使用 语法:EXPLAIN SELECT select_options Type: 类型,是否使用了索引还是全表扫描, const,eg_reg,ref,range,index,ALL Key: 实际使用上的索引是哪个 Ken_len: 真正使用了索引的键长度 Ref: 显示了哪些字段或者常量被用来和 key 配合从表中查询记录出来 Rows: 显示了MySQL认为在查询中应该检索的记录数 Extra: 显示了查询中MySQL的附加信息,关心Using filesort 和 Using temporary,性能杀手 MySQL 技巧分享 函数和索引 结束 谢谢大家! MySQL分享 MySQL储存引擎 MySQL优化方式 MySQL技巧分享 目录索引 MySQL储存引擎 存储引擎概述 MyISAM Mysql5.5之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务 InnoDB 事务型数据库的首选引擎,支持ACID事务,支持行级锁定 BDB 事务型数据库的另一种选择,支持COMMIT和ROLLBACK等事务特性 Memory 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。其内容会在Mysql重新启动时丢失 Merge 将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用 Archive 非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差 Federated 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用 Cluster/NDB 高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用 CSV 逻辑上由逗号分割数据的存储引

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档