Home Database Mysql Tutorial MySQL数据库InnoDB和MyISAM数据引擎的差别_MySQL

MySQL数据库InnoDB和MyISAM数据引擎的差别_MySQL

Jun 01, 2016 pm 01:51 PM
Advantages and Disadvantages surface

InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。

MyIASM是IASM表的新版本,有如下扩展:  
二进制层次的可移植性。  
NULL列索引。  
对变长行比ISAM表有更少的碎片。  
支持大文件。  
更好的索引压缩。  
更好的键吗统计分布。  
更好和更快的auto_increment处理。 

以下是一些细节和具体实现的差别:

1.InnoDB不支持FULLTEXT类型的索引。
2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。
4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
5.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。

另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”

任何一种表都不是万能的,只用恰当的针对业务类型来选择合适的表类型,才能最大的发挥MySQL的性能优势。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the advantages and disadvantages of templating? What are the advantages and disadvantages of templating? May 08, 2024 pm 03:51 PM

Templating: Pros and Cons Templating is a powerful programming technique that allows you to create reusable blocks of code. It offers a range of advantages, but also some disadvantages. Pros: Code Reusability: Templating allows you to create common code that can be reused throughout your application, reducing duplication and maintenance efforts. Consistency: Templating ensures that code snippets are implemented the same way in different locations, improving code consistency and readability. Maintainability: Changes to a template are reflected simultaneously in all code that uses it, simplifying maintenance and updates. Efficiency: Templating saves time and effort because you don't have to write the same code over and over again. Flexibility: Templating allows you to create configurable blocks of code that can be easily adapted to different application needs. shortcoming

Must read before purchasing a system: Analysis of the advantages and disadvantages of Win11 and Win10 Must read before purchasing a system: Analysis of the advantages and disadvantages of Win11 and Win10 Mar 28, 2024 pm 01:33 PM

In today's information age, personal computers play an important role as an indispensable tool in our daily lives. As one of the core software of computers, the operating system affects our usage experience and work efficiency. In the market, Microsoft's Windows operating system has always occupied a dominant position, and now people face the choice between the latest Windows 11 and the old Windows 10. For ordinary consumers, when choosing an operating system, they do not just look at the version number, but also understand its advantages and disadvantages.

What are the advantages and disadvantages of how Java Servlets work? What are the advantages and disadvantages of how Java Servlets work? Apr 16, 2024 pm 03:18 PM

JavaServlet is a Java class used to build dynamic web pages and serves as a bridge between client and server. Working principle: receive requests, initialize Servlet, process requests, generate responses and close Servlet. Pros: Portable, scalable, secure and easy to use. Disadvantages: Overhead, coupling, and state management. Practical case: Create a simple Servlet to display the "Hello, Servlet!" message.

Advantages and disadvantages of using Chinese when naming Java variables Advantages and disadvantages of using Chinese when naming Java variables Feb 18, 2024 am 10:14 AM

Advantages and Disadvantages of Using Chinese to Name Java Variables In Java programming, we usually use English to name identifiers such as variables, methods, and classes. However, sometimes we can also consider using Chinese as part of the identifier. This article will explore the advantages and disadvantages of using Chinese named Java variables and give some specific code examples. Advantage 1: Improve code readability. Using Chinese named Java variables can make the code easier to understand and read. After all, our brains understand and recognize Chinese more naturally and fluently than English. For non-English

Comparison of the advantages and disadvantages of PHP frameworks: Which one is better? Comparison of the advantages and disadvantages of PHP frameworks: Which one is better? Jun 04, 2024 pm 03:36 PM

The choice of PHP framework depends on project needs and developer skills: Laravel: rich in features and active community, but has a steep learning curve and high performance overhead. CodeIgniter: lightweight and easy to extend, but has limited functionality and less documentation. Symfony: Modular, strong community, but complex, performance issues. ZendFramework: enterprise-grade, stable and reliable, but bulky and expensive to license. Slim: micro-framework, fast, but with limited functionality and a steep learning curve.

Golang compiler summary: explore the advantages and disadvantages of various compilers Golang compiler summary: explore the advantages and disadvantages of various compilers Jan 19, 2024 am 10:44 AM

With the development of Golang, more and more compilers have been developed. When choosing a compiler, developers need to consider many factors, such as reliability, performance, ease of use, etc. This article will summarize some common Golang compilers and explore their advantages and disadvantages to help developers better choose the compiler that suits them. Go official compiler Go official compiler is Golang's default compiler and a widely recognized compiler in the Golang community. It has the following advantages: good stability, small size and compilation

C language and Python: analysis of applicable scenarios and advantages and disadvantages C language and Python: analysis of applicable scenarios and advantages and disadvantages Mar 22, 2024 am 11:24 AM

C language and Python: analysis of applicable scenarios and advantages and disadvantages In the field of computer programming, C language and Python are two very popular programming languages. They each have unique advantages and disadvantages and are suitable for different scenarios. This article will conduct an in-depth analysis of C language and Python, discussing their applicable scenarios, advantages and disadvantages. 1. C language applicable scenarios: C language is a process-oriented programming language with high efficiency and excellent performance. It is suitable for the development of system software, drivers and embedded systems that require a high degree of control and efficiency.

Reasons behind advantages and disadvantages of java framework Reasons behind advantages and disadvantages of java framework Jun 03, 2024 pm 04:50 PM

Java Framework Pros and Cons: Pros: Accelerated development Improved code quality Rich ecosystem Code reuse Cons: Performance overhead Complexity and learning curve Lack of flexibility Maintenance burden

See all articles