`
isiqi
  • 浏览: 16466458 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论
阅读更多
1.解决MYSQL和和进程故障
show processlist\G
查看 host 项
查找具体进程的 ID
netstat -ntp | grep :34334
netstat -ntp | grep 123423/apache
查找进程更新过的文件:
lsof -i -P | grep 12343
2.数据类型常识
有符号(Signed) 和 无符号(Unsigned) 占据存储空间都是一样的。性能也。。
不要用 NULL
对整数类型定义宽度, INT(11) 是没有意义的。它不会限制值的范围,只是规定MYSQL 交互工具(例如命令行客户端)用来显示字符的个数。
varchar 使用额外的1到2字节来存储值的长度。如果列的最大长度小于或等于255,则使用1字节。
5.0以上版本,MYSQL都会保留VARCHAR 字符窜末尾的空格。
容易产生碎片
char 存储单字节字符集只会占用1个字节。 不容易产生碎片。
enum 在内部把每个值都保存为整数。 在内部是按照数字顺序进行排序,而不是按照字符窜排序。 enum 最不好的一面是字符窜列表是固定的。并且添加或者删除字符窜都需使用ALTER TABLE。 在特定情况下,把CHAR 或 VARCHAR 列 和 ENUM 列进行联结,可能会联结另一个CHAR 或 VARCHAR 列慢。
一旦选择了数据类型,要确保在相关表中使用同样的类型。类型之间要精确匹配,包括诸如 UNSIGNED 这样的属性。
索引:
隔离列: 如果在查询中没有隔离索引的列,MYSQL 通常不会使用索引。 “隔离”列意味着它不是表达式的一部分,也没有位于函数中。
聚集索引: 聚集索引把索引和数据都保存到了同一棵B-TREE中。只有innodb支持。 最好避免随机(乱序)聚集键。
覆盖索引: 不能 全选 SELECT * FROM 列。 不能执行 like 左右匹配。
排序使用索引扫描: 1.查询联结多个表,只有在order by 子句的所有列引用的是第一个表的才可以。 2。只有当索引的顺序和ORDER BY 子句中的顺序完全一致。并且所有列排序的方向爱那个一样才可以。3. 使用索引的最左前缀。 OEDER BY 无须定义索引的最左前缀的一种情况是前导列为常量。
低层次的存储引擎操作是“从索引的开头开始,并且提取所有行直到 actor_id < 5 不成立。 注意到解释器的Extra列中出现了“使用Where(Using Where) 意味着MYSQL 在存储引擎返回行之后使用了WHERE 过滤条件。
Innodb 如果没有索引,Mysql 不管是否需要行,都会进行全表扫描并且锁定每一行。
共享锁 == 读取锁 独占锁 == 写入锁
范围条件(WHERE actor_id > 54) 使mysql忽略了索引中的其他列。 但是多个相等条件(actor_id IN (1,3,4))就不会有这个局限。
check table 测试表是否损坏
repair table 修复损坏的表
analyze table 更新表行的数量。有助于精确使用缩影。 myisam 会锁表。 innodb 不锁表,可以在线更新。
optimize table 消除 “行碎片” “内部行碎片”
mysql中 最简单的开销指标有三个: 执行时间 检查的行数 返回的行数
MYSQL 会在 3种情况下使用WHERE子句,从最好到最坏依次是:
1.对索引查找应用WHERE 子句来消除不匹配的行,这发生在存储引擎层。
2.使用覆盖索引。这个发生在服务器层
3.从表中搜索出数据,然后过滤掉不匹配的行 (Extra Using Where)
如果order by 子句只引用了联结中的第一个表,MYSQL会先对该表进行排序,然后处理联结。Extra 显示“ 使用了文件排序(Using filesort)” 否则, mysql 必须把结果保存在临时表,然后对临时表进行排序。 Extra 显示“Using temporary,Using filesort)
如果想知道结果的行数,应该总是使用 COUNT(*) 这样可以得到好的性能
优化连接: 确保 ON 或者 USING 使用列上有索引。 添加索引要考虑联结的顺序。 比如 联结表 A和B 时候。 如果优化器是按照从B到A顺序连接,就不需要在表B上添加索引了。 通常说只需要在联结的第二个表添加索引。确保GROUP BY 或 ORDER BY 只引用一个表的列。这样MYSQL尝试对这些操作使用索引。
query缓存:
Query_cache_type : 表示缓存是否被激活。 256M已经太大了。
Query_cache_size : 分配给查询的总内存,已字节为单位。它必须是1024的倍数。想关闭查询缓存,就把这个设置为 0
Query_cache_min_res_unit: 分配缓存块的最小值。
Query_cache_limit : 限制了MYSQL 存储的最大结果。如果查询结果比这个值大,那么就不会缓存。
query_cache_min_res_unit 可以避免在查询缓存中造成大量的内存浪费。 如果值过小,服务器就会浪费较少的内存,但会更频繁的分配块,如果值过大,碎片就会很多。
Qcache_free_blocks 探测缓存中的碎片情况,它可以显示缓存中有多少内存块处于free状态。如果Qcache_free_blocks 大致等于 Qcache_total_blocks/2 则说明碎片非常严重。 FLUSH QUERY CACHE 命令移除缓存。
如果缓存中没有碎片,但是命中率不高,那么就应该给缓存分配较少的内存。
Qcache_free_memory 知道未使用的内存数量
分享到:
评论

相关推荐

    高性能MySQL.pdf

    《高性能MySQL》是一本深入探讨MySQL数据库系统优化与管理的经典著作。这本书涵盖了MySQL的架构、历史、性能调优以及基准测试等多个重要主题,对于数据库管理员、开发人员以及对数据库性能有高要求的技术人员来说,...

    高性能mysql摘要

    本文主要从MySQL的逻辑架构、并发控制、事务处理、多版本并发控制(MVCC)以及存储引擎等方面,对《高性能MySQL》一书的学习摘要进行详细阐述。 首先,MySQL的逻辑架构分为三层。第一层是连接处理、授权认证和安全...

    高性能MySQL中文版

    《高性能MySQL》是一本深入探讨MySQL数据库性能优化的权威指南,尤其适合于已经对MySQL有一定了解,希望进一步提升系统性能的DBA和开发者。这本书详细阐述了如何在实际环境中实现MySQL的高效运行,覆盖了从基础概念...

    mysql高性能索引读书笔记

    《高性能Mysql》第五章的读书笔记,记录的都是要点,以思维导图的方式呈现。

    高性能MySQL 第三版读书笔记 一至六

    【高性能MySQL 第三版读书笔记 一至六】主要涵盖了MySQL服务器优化、操作系统和硬件优化、复制技术、可扩展性方案、MySQL分支与变种以及高可用性策略等多个方面。以下是对这些知识点的详细说明: 1. **优化服务器...

    高性能MySql 第三版.txt

    ### 高性能MySQL第三版知识点概述 #### 一、书籍简介 《高性能MySQL》第三版是一本关于MySQL数据库优化的经典著作。本书不仅深入探讨了MySQL的内部机制与使用技巧,还涉及了大量的性能优化方法和实战案例,对于提高...

    高性能mysql(第三版).pdf

    《高性能MySQL》(第三版)是关于MySQL数据库性能调优方面的权威指南,由O'Reilly Media公司出版。这本书由MySQL领域的专家Baron Schwartz、Peter Zaitsev和Vadim Tkachenko编写,旨在帮助数据库管理员、架构师和...

    高性能mysql mysql mysql mysql

    《高性能MySQL》是数据库管理员和开发人员必备的一本经典书籍,尤其对于那些处理高流量、大数据量的应用来说,它的价值不言而喻。该书详细介绍了如何优化MySQL的性能,以满足各种复杂业务场景的需求。以下是一些核心...

    读书笔记:高性能mysql读书笔记.zip

    读书笔记:高性能mysql读书笔记

    读书笔记:高性能Mysql 读书笔记.zip

    读书笔记:高性能Mysql 读书笔记

    高性能的mysql

    《高性能的MySQL》一书是数据库管理员和开发者的宝贵资源,专注于MySQL的性能优化和高效使用。这本书的第三版深入探讨了MySQL的各种方面,包括事务处理、存储引擎、主从复制等关键主题,旨在帮助读者构建和维护高...

    读书笔记:高性能MYSQL.zip

    读书笔记:高性能MYSQL

    《高性能MySQL》读书笔记.docx

    索引能够轻易将查询性能提高几个数量级,创建一个最优的索引经常需要重写查询。索引可以包含一个或多个列的值,如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效地使用索引的最左前缀。创建一个包含...

    高性能Mysql.xmind

    读书笔记,自己写的,方便以后网络查看。知识共享 11

    高性能mysql(第2版)中文版-完整

    《高性能MySQL(第2版)中文版》是MySQL数据库管理员和技术人员的重要参考资料,全面深入地探讨了MySQL的高性能优化和管理策略。这本书涵盖了从数据库设计、SQL查询优化到存储引擎的选择,再到复制、备份和故障恢复等...

    读书笔记:MySQL相关知识学习包括《高性能 MySQL》。.zip

    读书笔记:MySQL相关知识学习包括《高性能 MySQL》。

    读书笔记:高性能mysql中间件.zip

    读书笔记:高性能mysql中间件

    读书笔记:高性能mysql学习笔记.zip

    读书笔记:高性能mysql学习笔记

    读书笔记:高性能MySQL阅读笔记.zip

    读书笔记:高性能MySQL阅读笔记

    读书笔记:ESRedisSentryKafka 高性能MySQL LVS.zip

    读书笔记:ESRedisSentryKafka 高性能MySQL LVS

Global site tag (gtag.js) - Google Analytics