资讯专栏INFORMATION COLUMN

MySQL性能优化小结

luodongseu / 2647人阅读

摘要:数据库设计和查询优化设计时主要考虑标准化数据类型索引一个数据库设计可以混合使用一部分表格标准化一部分表格非标准化非标准化表格适当冗余最优的数据类型使表在磁盘上占据的空间尽可能小读写快占用内存少索引也尽量建立在较小的列上正确索引提高性能不同的

数据库设计和查询优化

Schema设计时主要考虑:标准化,数据类型,索引.

一个数据库设计可以混合使用,一部分表格标准化,一部分表格非标准化.(非标准化表格适当冗余)

最优的数据类型,使表在磁盘上占据的空间尽可能小,读写快,占用内存少.(索引也尽量建立在较小的列上)

正确索引,提高Select,Update,Delete性能.

不同的Sql不同的优化方案

Explain Sql查看结果,分析查询.

查询使用匹配的类型.

使用long-slow-queries记录较慢查询,分析优化.

服务器端优化

安装适当的MySql版本. 如果服务器使用Intel处理器,使用Intel C++版本可提高30 %效率

配置优化. 常见优化项:

charset

max_allowed_packet

max_connections

table_cache_size

query_cache_size

存储引擎优化

MyISAM

引擎特点

不支持事务,提供高速存储,检索以及全文搜索能力.

宕机会破坏表.

使用的磁盘和内存空间小.

基于表的锁,并发更新数据会出现严重性能问题.

MySql只缓存索引,数据由OS缓存.

使用情况

日志系统.

只读操作或者大部分读操作.

全表扫描.

批量导入数据.

没有事务的低并发读写.

优化策略

NOT NULL,可以减少磁盘存储.

Optimize Table,碎片整理,回收空闲空间.

Deleting/updating/adding大量数据的时候禁止使用index.

参数优化,key_buffer_size_variable索引缓存设置.

避免并发Inset Update.

InnoDB

引擎特点

具有提交,回滚和崩溃恢复能力的事务安全存储引擎.

处理巨大数据量性能卓越,它的CPU使用效率非常高.

需要更多的内存和磁盘存储空间.

数据和索引都缓存在内存中.

适用情况

需要事务的应用.

高并发的应用.

自动恢复.

较快速的基于主键的操作.

优化策略

尽量使用short,integer的主键.

使用prefix keys,因为InnoDB没有key压缩功能.

参数优化,innodb_buffer_pool_size,innodb_data_home_dir等等.

缓存优化

Redis

Memcached

转自: http://overtrue.me/articles/2014/10/mysql-performance-optimization-summary.html

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/48726.html

相关文章

  • 新书推荐 |《PostgreSQL实战》出版(提供样章下载)

    摘要:作者谭峰张文升出版日期年月页数页定价元本书特色中国开源软件推进联盟分会特聘专家撰写,国内多位开源数据库专家鼎力推荐。张文升中国开源软件推进联盟分会核心成员之一。 很高兴《PostgreSQL实战》一书终于出版,本书大体上系统总结了笔者 PostgreSQL DBA 职业生涯的经验总结,本书的另一位作者张文升拥有丰富的PostgreSQL运维经验,目前就职于探探科技任首席PostgreS...

    Martin91 评论0 收藏0
  • 分布式ID生成方案小结

    摘要:几乎所有的系统都存在生成唯一的需求,如用户账单等,由于系统通常是分布式架构,因而需要有合适的分布式生成方案。优势和数据库自增方案类似缺点同样仍然有性能上限,依赖数据库的可用性。使用时,可以使用具体的场景选择合适的方案。几乎所有的系统都存在生成唯一ID的需求,如用户ID、账单ID等,由于系统通常是分布式架构,因而需要有合适的分布式ID生成方案。常见的分布式唯一ID方法有(欢迎补充):时间戳数据...

    Tecode 评论0 收藏0
  • 【压力测试】使用mysqlslap进行mysql基准测试

    摘要:二测试计划确定测试工具,根据测试目标和业务制定测试计划测试场景测试命令使用生产环境的数据库备份,根据测试用例进行测试分析测试结果。 一、应用场景 1、对新的或调整后的数据库服务器进行测试,验证或比较配置结果;2、建立Mysql服务器的性能基准线,即得到健康环境下的指标,协助后续实际使用中的监控、优化;3、模拟多用户并发访问MySQL来进行压力测试,找出系统的扩张瓶颈,增加数据库的并发,...

    Stardustsky 评论0 收藏0
  • Linux运维习惯小结

    摘要:从事运维一年半,遇到过各式各样的问题,数据丢失,网站挂马,误删数据库文件,黑客攻击等各类问题今天想简单整理一下,分享给各位小伙伴一线上操作规范测试使用当初学习的使用,从基础到服务到集群,都是在虚拟机做的,虽然老师告诉我们跟真机没有什么差别, 从事运维一年半,遇到过各式各样的问题,数据丢失,网站挂马,误删数据库文件,黑客攻击等各类问题 今天想简单整理一下,分享给各位小伙伴 一、线上操作规...

    WalkerXu 评论0 收藏0
  • 我的 2015 年度小结(技术方面)

    摘要:因为路由层面受业务影响很大,经常修改一些功能的行为,所以后来大部分测试都是针对层面的单元测试。在我了解的过程中,我发现中文网络上对的讨论非常分散,于是我创建了中文社区,到年末已经有个注册用户和个帖子了。 https://jysperm.me/2016/02/programming-of-2015/ 从 2014 年末开始开发的一个互联网金融项目终于在今年三月份上线了,这是一个 Node...

    宋华 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<