`
annan211
  • 浏览: 461296 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

高性能mysql 之 选择存储引擎(一)

阅读更多


  请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1


1 没有特殊情况,应尽可能使用InnoDB存储引擎。
  原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她
  被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃
  恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常特别的原因需要使用其他的存储引擎,否则应该优先使用InnoDB
  引擎。
  oracle 投入了大量资源,使得InnoDB引擎的性能得到了质的飞跃,不仅在单核,现在已经扩展到24、32甚至更多核的
  系统中也表现良好。
 
  InnoDB 采用MVCC来支持高并发,并且实现了四个标准的隔离级别,其默认级别是可重复读。并且通过间隙锁防止幻读的出现。
 
  InnoDB 采用聚簇索引,对于主键查询有很高的性能。不过他的二级索引必须包含主键列,因此主键列应当尽可能的小。
 
  InnoDB 内部做了很多优化,包括从磁盘读取数据是采用的可预测性预读,能够自动在内存中创建hash索引以加速度操作的自适应哈希
  以及能够加速插入操作的插入缓冲区等。
 
  InnoDB 支持热备份。
 
  同样广泛使用的是 MyISAM存储引擎,MyISAM不支持事务,没有修复和崩溃恢复能力,需要手工操作
  MyISAM 对整张表加锁 而不是针对行,读取时会对需要读到的所有表加共享锁,写入时则对表加排他锁。
 
 
2 如何选择存储引擎
  一般情况下,InnoDB都是正确的选择,除非需要用到某些InnoDB不具备的特性,并且没有其他办法可以替代,
  否则都应该优先选择InnoDB引擎。当然,如果不需要用到InnoDB的特性,同时其他引擎的特性能够更好地满足需求,
  也可以考虑其他存储引擎。举个例子,如果不在乎可扩展能力和并发能力,也不在乎数据丢失问题,
  却对InnoDB的空间占用过多比较敏感,这种场合下选择MyISAM就比较合适。
 
  除非万不得已,否则不建议使用多种存储引擎,否则可能带来一系列复杂的问题以及一些潜在的bug和边界问题。
  存储引擎层和服务器层的交互已经比较复杂,更不用说混合多个存储引擎了。
 
  如果应用真的非常需要不同的存储引擎,请先开率以下几个因素
  1 事务
  2 备份
 
  不要轻易相信 MyISAM 比 InnoDB 快的经验之谈,在很多已知的场景中,InnoDB的速度都可以让MyISAM望尘莫及
  尤其是聚簇索引或者需要访问的数据都可以放入内存中的应用。
  MyISAM 引擎在一开始可能没有任何问题,但随着应用压力的上升,则可能迅速恶化,各种锁争用、崩溃后的数据丢失等问题都会随之而来。
 
  使用InnoDB 需要尽量避免select count(*) 此类的语句,  尤其是当数据规模不断增大的时候。
 
   mysql 单台服务器的数据量 一般保持在3-5T,10T以上就可能需要建立数据仓库,infobright 是mysql 数据仓库最成功的解决方案。也有一些大数据仓库不适合
   infobright ,却适合TokuDB.
 
  请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1

 

分享到:
评论

相关推荐

    高性能MySQL.pdf

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

    高性能mysql PDF 中英文合集

    《高性能MySQL》是数据库管理员、开发人员和系统架构师必备的一本经典著作,特别是对于处理大规模数据和高并发场景的企业来说,这本书提供了丰富的知识和实践经验。该书的第三版不仅涵盖了MySQL的基础操作,还深入...

    高性能MySQL

    《高性能MySQL》是一本专为MySQL数据库管理员、开发人员和系统架构师打造的权威指南,其第二版深入探讨了如何优化MySQL的性能,确保数据库系统的高效运行。这本书涵盖了索引策略、查询优化、系统监控以及配置优化等...

    高性能mysql源码.rar

    "高性能MySQL源码"指的是MySQL数据库系统的内部实现细节,通过分析源码,我们可以深入理解其工作原理,优化数据库操作,提升系统性能。源码分析通常涉及以下几个关键知识点: 1. **存储引擎**:MySQL支持多种存储...

    高性能Mysql mysql书籍

    《高性能MySQL》是一本经典的数据库技术专著,深入探讨了MySQL的高性能优化、备份、恢复、复制和安全性等方面,对于数据库管理员、开发人员以及对MySQL性能有高要求的技术人员来说,是一本不可或缺的参考书。...

    高性能mysql 第四版 英文版 PDF下载 [high performance mysql 4th edition PDF]

    《高性能MySQL第四版》是MySQL领域的一本经典著作,由Silvia Botros和Jeremy Tinley共同撰写,并由Jeremy Cole作序。这本书自初次发行以来,已经伴随MySQL社区走过了17年,见证了MySQL的不断进化和发展。随着技术的...

    高性能MySQL(第3版,包含azw3,epub,mobi格式)

    《高性能MySQL》是数据库领域的经典著作,第3版更是涵盖了MySQL的最新技术和最佳实践。这本书主要探讨了如何在实际应用中优化MySQL的性能,确保数据的高效存储和检索,为企业的业务提供稳定、快速的数据服务。 1. *...

    高性能MySQL pdf 免费-part1

    《高性能MySQL》汇聚了著名MySQL 专家在实践中构建大型系统的多年宝贵经验,指导你如何使用MySQLTF发出快速可靠的系统。的第二版着眼于健壮性、安全性及数据完整性,涵盖了 MySQL性能的细微之处。  《高性能MYSQL》...

    mysql内核 innodb存储引擎

    《MySQL技术内幕:InnoDB存储引擎》是国内目前唯一的一本关于InnoDB的著作,由资深MySQL专家亲自执笔...《MySQL技术内幕:InnoDB存储引擎》适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。

    高性能mysql摘要

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

    高性能的MySQL中文版

    11. **最新版本特性**:《高性能MySQL》第三版可能会涵盖MySQL的新特性,如InnoDB Cluster、JSON支持、窗口函数等,帮助读者掌握最新技术动态。 总的来说,这本书是提升MySQL性能的宝典,无论你是初学者还是经验...

    《高性能MySQL(第3版)》书中示例代码

    《高性能MySQL(第3版)》是一本深受数据库管理员、开发者和系统架构师喜爱的经典书籍,专注于MySQL的性能优化和高效使用。这本书深入探讨了如何在实际应用中最大化利用MySQL的潜能,涵盖了许多关键主题,包括查询...

    高性能MySQL(第3版).part2

    1.5.3MySQL内建的其他存储引擎19 1.5.4第三方存储引擎22 1.5.5选择合适的引擎24 1.5.6转换表的引擎27 1.6MySQL时间线(Timeline)29 1.7MySQL的开发模式32 1.8总结33 第2章MySQL基准测试35 2.1为什么需要...

    MySQL存储引擎简介

    MySQL存储引擎是数据库管理系统中负责数据存储和索引管理的核心组件,它允许MySQL数据库系统在不同的存储需求下灵活选择最优的存储方案。在众多数据库系统中,MySQL独树一帜,提供了多种存储引擎供用户选择,使得...

    mysql存储引擎介绍

    如果应用需要事务安全和高性能,可以选择 InnoDB 存储引擎。如果应用需要快速的访问速度和小的存储空间,可以选择 MyISAM 存储引擎。如果应用需要基于内存的存储,可以选择 MEMORY 存储引擎。 结论 MySQL 存储...

    高性能mysql第三版word+pdf版电子文件

    《高性能MySQL》是数据库管理员、开发人员和系统架构师必备的一本经典著作,它深入探讨了MySQL的各个方面,包括性能优化、高可用性、备份、恢复、复制和安全性等。这本书的第三版更是包含了最新的MySQL技术和最佳...

    高性能MySQL中文版

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

    高性能mysql设计实战

    《高性能MySQL(第3版)》是一本深入探讨MySQL数据库性能优化与设计实践的专业书籍,由Baron Schwartz等作者撰写。这本书旨在帮助读者理解和实施针对MySQL的高效能策略,以应对日益增长的数据处理需求。 MySQL作为...

Global site tag (gtag.js) - Google Analytics