MySQL优化知识整理
文章平均质量分 78
攀哥
这个作者很懒,什么都没留下…
展开
-
MySQL配置优化总结
基本知识 配置设置作用域:全局域 会话域(修改会话域的值只会在当前连接有效,连接关闭就失效了) SHOW VARIABLES语句查看系统变量及其值 服务器运行时设置的是动态变量,在MySQL关闭后就会失效 在对配置进行优化的时候,应该先对查询和结构进行优化MySQL内存调优原创 2012-11-05 22:40:51 · 689 阅读 · 0 评论 -
安全
权限 通常是在执行一条被允许的SQL查询语句后取得的 与对象相关的和对象无关的 对象指定权限赋予你访问特定对象的权限 全局权限执行一些功能,比如关闭服务器,执行FLUSH,执行各种show命令 基于对象的权限让你操作服务器里的内容 MySQL权限是bool,要么被赋予,要么没有授权表 提供GRANT,REVOKE,DROP原创 2012-11-22 14:57:47 · 542 阅读 · 0 评论 -
备份与还原
备份与还原 恢复:从备份记录中获取数据,加载到MySQL里 还原:描述救援整个系统或系统一部分的过程 常规事项: 1.裸备份对于大型数据必要的。运行速度快。常选择的是基于快照的备份,如果是InnoDB,使用InnoDB热备份 2.备份用于即使点还原的二进制日志 3.多保留几个备份记录,二进制日志要足够长原创 2012-11-21 18:44:44 · 719 阅读 · 0 评论 -
应用层面的优化
应用层面的优化 性能通常的瓶颈是缓慢的查询,锁,CPU饱和,网络延迟和文件I/O 寻找常见问题 1.各个机器上的CPU,磁盘,网络和内存资源的使用情况。注意检查配置文件 2.应用是否真正使用了所取得的数据 3.应用和数据库是否做了该由对方做的事情 4.应用里执行了太多的查询原创 2012-11-20 12:15:15 · 898 阅读 · 0 评论 -
复制
复制 让一台服务器的数据和另外的服务器保存同步 MySQL支持的复制方案:基于语句复制,基于行复制。都是通过记录主服务器的二进制日志,并在从服务器上进行重放完成复制,都是异步的。从服务器上的数据并非随时都是最新的,也不保证从服务器上的延迟具体大小。复制用途 数据分布 负载平衡,可以把读取分布在不同的服务器上。 备份 高可用性和故障转移原创 2012-11-19 17:36:35 · 486 阅读 · 0 评论 -
伸缩性与高可用性
伸缩性与高可用性 性能:应用满足某一目标的能力 负载能力:应用能够处理的总负载 伸缩性:应用通过各种方式增大时,能够继续保持原来的性能 可用性:应用响应请求时间的百分比 容错性:应用和整个系统从容的处理错误故障的能力伸缩性 1.规划伸缩性 伸缩性较差的表现:查询缓慢,工作量从CPU密集切换到IO密集,并发查询的竞争,原创 2012-11-19 23:16:46 · 736 阅读 · 0 评论 -
查询缓存
查询缓存 保存了SELECT语句的完整结果集。 1.检查缓存命中 缓存是一个查找表,查找键是查询文本,当前数据库,客户端协议的版本,以及其他影响实际查询结果的因素的哈希值 检查缓存的时候,不会对语句进行解析,正则化或参数化,精确使用查询语句 不会储存有不确定结果的查询。包含不确定函数 额外开销:读取查询前必原创 2012-11-16 12:04:06 · 932 阅读 · 0 评论 -
查询优化总结
查询性能优化 1.检查应用程序是否获取超过需要的数据。访问过多的行和列 2.检查MySQL服务器是否分析了超过需要的行(分析开销指标:执行时间,检查和返回的行,检查的行和访问类型(EXPLAIN的type列,包括全表扫描,索引扫描,范围扫描,唯一查找扫描,常量。访问速度依次递增))重构查询的方式 1.可以考虑把一个复杂查询分解多个简单查询 2.缩短查询原创 2012-11-15 16:16:21 · 763 阅读 · 0 评论 -
MySQL分析和架构优化
MySQL分析 访问最多的数据 执行最多的查询 停留时间最长的状态 执行查询使用最频繁的子系统 查询过程中访问的数据种类 执行了多少种不同类型的活动记录查询 普通日志:记录服务器接收到每一个查询,包含没有被执行的查询。 慢速日志:记录执行时间超过特定长度的查询 log-slow-queries = [fi原创 2012-11-14 11:47:29 · 548 阅读 · 0 评论 -
MySQL基本知识
MySQL的逻辑结构 并发控制 1)读锁/写锁 读锁是共享的,写锁是独占的 2)粒度锁 锁策略一般是在锁开销和数据安全之间寻找平衡。 表锁:开销最小 行级锁:支持高并发处理,开销大事务 一组原子性的SQL查询语句,或者可以看做一个工作单元原创 2012-11-12 23:01:54 · 460 阅读 · 0 评论 -
MySQL操作系统和硬件优化
常见瓶颈 1.CPU饱和(发生在MySQL使用数据被装入内存,或者从磁盘上读取数据时) 2.I/O饱和(发生在需要数据比内存多得多的时候)内存 拥有大量内存最终目的避免磁盘I/O 随机I/O和顺序I/O 随机I/O从缓存中获益最多 顺序I/O比随机I/O快原创 2012-11-06 15:58:19 · 815 阅读 · 0 评论 -
MySQL服务器状态
系统变量 SHOW VARIABLES 可以使用这些变量,代表配置信息,可以通过INFORMATION_SCHEMA数据库里的各个表访问这些变量状态变量 SHOW STATUS 只读,可以从INFORMATION_SCHEMA.GLOBAL_STATUS和INFORMATION_SCHEMA.SESSION_STATUS表取值线程和连接统计信息原创 2012-11-22 18:18:51 · 750 阅读 · 0 评论