`
风雪涟漪
  • 浏览: 510206 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:9146
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:18578
社区版块
存档分类
最新评论

MySQL 架构 - MySQL 存储引擎 -InnoDB

阅读更多

InnoDB

InnoDB支持事物处理,它处理许多短期的事物,这些事物常常是成功执行而不是回滚的。InnoDB是MySQL最受欢迎的存储引擎了。常见的非事物引擎需求,如性能和自动回复,它也完全具备。

 

InnoDB在一些列的文件中存储数据,被称为表空间(tablespace)。表空间对于用户来说是黑盒,InnoDB内部负责处理。在MySQL4.1以及更新的版本中,InnoDB可以存储数据以及索引到独立的文件中。InnoDB也使用磁盘分区来创建表空间。以后会详细讲到表空间。

 

InnoDB使用MVCC来实现高并发处理。以及它实现了SQL标准的4个隔离级别。默认的隔离级别是不可重复读,以及使用next-key locking策略避免了幻读的问题:InnoDB在索引结构中锁定了而不是仅仅锁定了间隔来避免插入数据引起的幻读而不是仅仅锁定你所操作的行。

 

InnoDB的表使用了聚集索引(clustered index)。在以后章节详细说明。InnoDB的索引结构和其他的引擎有很大的不同。结果就是查找主键是非常迅速的。然而次要的索引包含了主键。因此如果主键太大。其他的索引也会很大。如果有表中有太多索引,那么主键要力求最小。InnoDB是不能压缩索引的。

 

目前为止,InnoDB还不能建立索引的排序,但是MyISAM引擎却可以。因此InnoDB读取数据和创建索引都要比MyISAM慢。任意修改InnoDB表结构的操作,都会重新创建整张表,当然包括了所有的索引。

 

InnoDB被设计出来的时候,大部分的服务器都是硬盘转速慢,单CPU,限制的内存。今天,多核,大内存,转速飞快的硬盘的服务器已经不是很贵了。InnoDB有些可伸缩的问题。开发人员正在解决问题。但是目前为止,有许多问题还是存在的。在InnoDB并发性调整那章中,会详细的说明让InnoDB提高并发性。

 

除了并发性,InnoDB还有提供了外键约束的特性,这特性MySQL本身是不提供的。InnoDB也提供了快速用主键查询的特性。

 

InnoDB有很多种内部的优化方法。从硬盘中提前预读取预取的数据,自适应的hash索引也就是为了快速查找在内存中自动创建了hash索引,还有把insert缓存为了加速插入。以后的章节详细说明这些优化。

 

 

InnoDB是挺复杂,强烈推荐查看官方文档。

事物模型和锁定http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#innodb-transaction-model

上面的教程让你明白在使用InnoDB之前,应该注意点什么。

 

 

分享到:
评论

相关推荐

    MySQL技术内幕 InnoDB存储引擎.pptx

    "MySQL技术内幕 InnoDB存储引擎" 《MySQL技术内幕:InnoDB存储引擎》是一本深入解析InnoDB存储引擎的经典之作,由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。本书从源代码的角度深度解析了InnoDB的...

    MySQL体系结构及原理(innodb)图文完美解析

    InnoDB是MySQL中最常用的一种存储引擎,它支持事务安全性和行级锁定,这使得它非常适合处理高并发或多用户的应用场景。InnoDB提供了多种高级功能,如外键约束、事务管理以及崩溃恢复机制等。 3. **MySQL与InnoDB的...

    mysql架构与存储引擎(MySQL逻辑架构、InnoDB引擎、MyISAM引擎、存储引擎选择).docx

    ### MySQL架构与存储引擎 #### 一、MySQL逻辑架构 MySQL作为一款广泛使用的开源关系型数据库管理系统,其内部架构设计非常精妙,旨在提供高效、可靠的数据存储与管理能力。 ##### 1、逻辑架构图 MySQL采用了典型...

    mysql架构设计与InnoDB存储引擎详解

    mysql架构设计与InnoDB存储引擎详解

    MySQL逻辑架构-存储引擎-用户权限密码详解

    服务层是MySQL架构的最上层,主要负责客户端的连接处理、授权认证以及安全检查,为客户端提供访问MySQL服务的接口。 核心层主要包含查询解析、分析优化SQL语句,以及缓存查询结果等功能,是MySQL处理数据的核心部分...

    2013年中国数据库大会-27-深入解析MySQL InnoDB引擎

    首先,InnoDB是一个重要的MySQL存储引擎,以其事务处理能力和行级锁定的特性而著名。Calvin Sun在演讲中首先介绍了InnoDB的历史和它在MySQL中的发展路线。InnoDB的发展始于1990年左右,并且它的一些关键特性随着时间...

    MySQL-client-5.6.29-1.linux_glibc2.5.x86_64,MySQL-server-5.6.29-1.linux_glibc

    5.6.29版本引入了InnoDB存储引擎的改进,如更好的行锁定机制,更高效的全文索引,以及对并行复制的支持。此外,它还优化了查询缓存,增强了性能监控和诊断工具。 在压缩包中,`Hive的mysql安装配置.doc`可能是关于...

    mysql80-community-release-el8-1.noarch.7z

    - InnoDB 存储引擎增强:包括对大页内存的支持,改进的行格式,以及更好的性能监控。 - 查询优化器改进:采用了新的统计信息收集策略,提升了查询计划的准确性。 - 分区表改进:支持更多的分区类型和操作,例如在线...

    mysql57-community-release-el7-11.noarch.rpm

    1. **性能提升**:MySQL 5.7通过优化查询执行引擎、缓存策略和InnoDB存储引擎提供了显著的性能提升,使得处理大数据集更加高效。 2. **InnoDB增强**:InnoDB存储引擎在5.7版本中得到了显著强化,包括支持更大的索引...

    mysql-community-server-8.4.0-1.el9.x86-64

    10. **性能优化**:此版本的MySQL支持InnoDB存储引擎的性能优化,如InnoDB Buffer Pool、索引优化、并行查询处理等,以提高数据读写速度和整体性能。 总之,`mysql-community-server-8.4.0-1.el9.x86_64`是为RHEL/...

    MySQL innodb 技术内幕

    MySQL InnoDB 存储引擎是 MySQL 关系数据库管理系统中最常用的存储引擎之一。InnoDB 存储引擎是 MySQL 的默认存储引擎,它提供了高性能、高可靠性的存储功能。 数据库和实例的区别 ----------------- 在 MySQL 中...

    mysql-cluster-8.0.20-winx64.zip

    5. **8.0.20版本特性**:此版本包含了MySQL 8.0的主要改进,如优化的InnoDB存储引擎,增强的JSON支持,新的SQL功能,以及性能和安全性的提升。 6. **安装与配置**:解压“mysql-cluster-8.0.20-winx64.zip”后,...

    1_Mysql架构和InnoDB存储引擎

    【MySQL架构和InnoDB存储引擎】是数据库领域的重要组成部分,主要关注如何高效、安全地管理数据库中的数据。MySQL是一个流行的开源关系型数据库管理系统,而InnoDB则是其最常用的存储引擎,支持事务处理和行级锁定。...

    03-MySQL逻辑架构和Innodb存储引擎1

    7. **存储引擎组件**:存储引擎是MySQL的核心,负责实际的数据存储和检索,如InnoDB和MyISAM。 【InnoDB存储引擎】 InnoDB是MySQL中最常用的存储引擎,尤其在支持事务处理的场景下。它具备以下特性: 1. **事务...

    MySQL-5.5.28-winx64安装包以及说明文档

    - **存储引擎**:MySQL支持多种存储引擎,如InnoDB(支持事务处理和外键)、MyISAM(快速读取,不支持事务)和Memory(数据存储在内存中)。选择合适的存储引擎对性能有很大影响。 - **索引**:创建索引可以加速...

    MySql Innodb底层存储架构

    ### MySQL Innodb 底层存储架构详解 #### 一、概述 MySQL的InnoDB存储引擎是目前使用最为广泛的事务处理引擎之一,它提供了行级锁定、外键支持、崩溃修复能力以及多版本并发控制等功能。InnoDB存储引擎的底层存储...

    mysql-boost-5.7.20.tar.gz

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其性能强大且功能丰富,广泛应用于网站开发、数据存储和处理等场景。Boost是一个C++库集合,提供了各种工具来增强应用程序的性能,包括线程管理、正则表达式...

    mysql-5.7.32-linux-glibc-2.28-aarch64.tar.gz

    - **InnoDB存储引擎的改进**:支持更高的并发性,更快的全文搜索,以及更好的事务处理性能。 - **Performance Schema**:提供详细的性能监控,帮助管理员分析和优化数据库性能。 - **JSON支持**:引入了对JSON数据...

    mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    - **InnoDB存储引擎增强**:MySQL 5.7对InnoDB存储引擎进行了大量改进,包括更快的插入速度、更高的并发性和更小的数据文件占用空间。 - **JSON支持**:增加了对JSON数据类型的内置支持,允许用户在关系数据库中...

    MySQL 5.6 for Windows 官方(mysql-5.6.34-winx64.zip)

    - **性能优化**:MySQL 5.6引入了InnoDB存储引擎的性能增强,如InnoDB并行插入,提高了多线程插入的效率。 - **全文搜索**:增加了全文本搜索功能,支持更复杂的查询语法,提高了搜索精度。 - **分区改进**:表...

Global site tag (gtag.js) - Google Analytics