데이터 베이스 MySQL 튜토리얼 MySQL各存储引擎的区别及其启动方法_MySQL

MySQL各存储引擎的区别及其启动方法_MySQL

Jun 01, 2016 pm 02:03 PM
사용 차이점 시작하다 저장 엔진 데이터 방법 유형 잠금

 

存储引擎是什么?

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。

这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。你可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时候为你提供最大的灵活性。

选择如何存储和检索你的数据的这种灵活性是MySQL为什么如此受欢迎的主要原因。其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。遗憾的是,其它类型的数据库解决方案采取的“一个尺码满足一切需求”的方式意味着你要么就牺牲一些性能,要么你就用几个小时甚至几天的时间详细调整你的数据库。使用MySQL,我们仅需要修改我们使用的存储引擎就可以了。

在这篇文章中,我们不准备集中讨论不同的存储引擎的技术方面的问题(尽管我们不可避免地要研究这些因素的某些方面),相反,我们将集中介绍这些不同的引擎分别最适应哪种需求和如何启用不同的存储引擎。为了实现这个目的,在介绍每一个存储引擎的具体情况之前,我们必须要了解一些基本的问题。

如何确定有哪些存储引擎可用

你可以在MySQL(假设是MySQL服务器4.1.2以上版本)中使用显示引擎的命令得到一个可用引擎的列表。

 

<ccid_code></ccid_code>mysql> show engines;
+------------+---------+----------------------------------------------------+
| Engine | Support | Comment |
+------------+---------+-----------------------------------------------------+
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance |
| HEAP | YES | Alias for MEMORY |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables |
| MERGE | YES | Collection of identical MyISAM tables |
| MRG_MYISAM | YES | Alias for MERGE |
| ISAM | NO | Obsolete storage engine, now replaced by MyISAM |
| MRG_ISAM | NO | Obsolete storage engine, now replaced by MERGE |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys |
| INNOBASE | YES | Alias for INNODB |
| BDB | NO | Supports transactions and page-level locking |
| BERKELEYDB | NO | Alias for BDB |
| NDBCLUSTER | NO | Clustered, fault-tolerant, memory-based tables |
| NDB | NO | Alias for NDBCLUSTER |
| EXAMPLE | NO | Example storage engine |
| ARCHIVE | NO | Archive storage engine |
| CSV | NO | CSV storage engine |
+------------+---------+-------------------------------------------------------+
로그인 후 복사

16 rows in set (0.01 sec)   这个表格显示了可用的数据库引擎的全部名单以及在当前的数据库服务器中是否支持这些引擎。

对于MySQL 4.1.2以前版本,可以使用mysql> show variables like "have_%"(显示类似“have_%”的变量):

 

<ccid_code></ccid_code>mysql> show variables like "have_%"; 
+------------------+----------+ 
| Variable_name | Value | 
+------------------+----------+ 
| have_bdb | YES | 
| have_crypt | YES | 
| have_innodb | DISABLED | 
| have_isam | YES | 
| have_raid | YES | 
| have_symlink | YES | 
| have_openssl | YES | 
| have_query_cache | YES | 
+------------------+----------+ 
8 rows in set (0.01 sec)
로그인 후 복사

你可以通过修改设置脚本中的选项来设置在MySQL安装软件中可用的引擎。如果你在使用一个预先包装好的MySQL二进制发布版软件,那么,这个软件就包含了常用的引擎。然而,需要指出的是,如果你要使用某些不常用的引擎,特别是CSV、RCHIVE(存档)和BLACKHOLE(黑洞)引擎,你就需要手工重新编译MySQL源码 。

使用一个指定的存储引擎

你可以使用很多方法指定一个要使用的存储引擎。最简单的方法是,如果你喜欢一种能满足你的大多数数据库需求的存储引擎,你可以在MySQL设置文件中设置一个默认的引擎类型(使用storage_engine 选项)或者在启动数据库服务器时在命令行后面加上--default-storage-engine或--default-table-type选项 。

更灵活的方式是在随MySQL服务器发布同时提供的MySQL客户端时指定使用的存储引擎。最直接的方式是在创建表时指定存储引擎的类型,向下面这样:

 

<ccid_code></ccid_code>  CREATE TABLE mytable (id int, title char(20)) ENGINE = INNODB
로그인 후 복사

你还可以改变现有的表使用的存储引擎,用以下语句:

 

<ccid_code></ccid_code>  ALTER TABLE mytable ENGINE = MyISAM
로그인 후 복사

然而,你在以这种方式修改表格类型的时候需要非常仔细,因为对不支持同样的索引、字段类型或者表大小的一个类型进行修改可能使你丢失数据。如果你指定一个在你的当前的数据库中不存在的一个存储引擎,那么就会创建一个MyISAM(默认的)类型的表。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

R1과 V3 버전의 차이점은 무엇입니까? R1과 V3 버전의 차이점은 무엇입니까? Feb 19, 2025 pm 03:24 PM

DeepSeek : R1과 V3 버전의 심층 비교는 최고의 AI 어시스턴트를 선택하는 데 도움이됩니다! DeepSeek에는 이미 수천만 명의 사용자가 있으며 AI 대화 기능이 호평을 받았습니다. 그러나 R1 및 V3 버전에 직면 할 때 혼란 스럽습니까? 이 기사에서는 가장 적합한 버전을 선택하는 데 도움이되는 두 가지의 차이점을 설명합니다. DeepSeekr1과 V3 버전의 핵심 차이 : 기능 V3 버전의 설계 목표는 복잡한 문제 추론, 딥 로직 분석, 다기능 대형 언어 모델, 확장 성 및 효율성 아키텍처 및 매개 변수 강화 학습 최적화 아키텍처, 매개 변수 척도 1.5에 중점을 둡니다. 10 억 ~ 700 억 MOE 하이브리드 전문가 아키텍처, 총 매개 변수는 671 억에 이르며 각 토큰은 370 억으로 활성화됩니다.

깊은 사용을위한 FAQ 요약 깊은 사용을위한 FAQ 요약 Feb 19, 2025 pm 03:45 PM

Deepseekai 도구 가이드 및 FAQ Deepseek은 강력한 AI 지능형 도구입니다. FAQ : 다른 액세스 방법의 차이 : 웹 버전, 앱 버전 및 API 통화간에 기능에는 차이가 없으며 앱은 웹 버전의 래퍼 일뿐입니다. 로컬 배치는 증류 모델을 사용하는데,이 모델은 DeepSeek-R1의 정식 버전보다 약간 열등하지만 32 비트 모델은 이론적으로 90% 정식 버전 기능을 갖습니다. 선술집이란 무엇입니까? Sillytavern은 API 또는 Ollama를 통해 AI 모델을 호출 해야하는 프론트 엔드 인터페이스입니다. 중단 한도는 무엇입니까?

비트 코인에는 비트 코인이 주식이 있습니까? 비트 코인에는 비트 코인이 주식이 있습니까? Mar 03, 2025 pm 06:42 PM

cryptocurrency 시장은 급성장하고 있으며, 리더로서 Bitcoin은 많은 투자자들의 관심을 끌었습니다. 많은 사람들이 궁금합니다. 비트 코인은 주식이 있습니까? 대답은 아니오입니다. 비트 코인 자체는 주식이 아니지만 투자자는 다양한 채널을 통해 비트 코인 관련 자산에 간접적으로 투자 할 수 있으며,이 기사에서 자세히 설명 할 것입니다. 비트 코인 투자에 대한 대안 : Bitcoin에 직접 투자하는 대신, 투자자는 Bitcoin Market에 참여할 수 있습니다. Bitcoin ETF : 이것은 자산 포트폴리오에 Bitcoin 또는 Bitcoin 선물 계약이 포함 된 주식 거래 시장에서 거래되는 펀드입니다. 이것은 비트 코인을 직접 보유하지 않고도 주식 투자에 익숙한 투자자에게 비교적 편리한 옵션입니다. 비트 코인 채굴 회사 주식 :이 회사의 비즈니스는 비트 코인 채굴 및 보유 비트 코인입니다.

프리 마켓과 애프터 마켓 거래의 차이점은 무엇입니까? 프리 마켓과 애프터 마켓 거래의 차이점에 대한 자세한 설명 프리 마켓과 애프터 마켓 거래의 차이점은 무엇입니까? 프리 마켓과 애프터 마켓 거래의 차이점에 대한 자세한 설명 Mar 03, 2025 pm 11:54 PM

전통적인 금융 시장에서, 프리 마켓 및 마켓 거래는 정기 거래 기간 이외의 거래 활동을 말합니다. cryptocurrency 시장은 24 시간 내내 거래되고 있지만 Bitget과 같은 거래 플랫폼은 유사한 기능, 특히 주식과 암호 화폐를 동시에 거래하는 일부 포괄적 인 플랫폼을 제공합니다. 이 기사는 프리 마켓 및 애프터 마켓 거래의 차이를 명확히하고 통화 가격에 미치는 영향을 탐구합니다. 프리 마켓과 애프터 마켓 거래의 4 가지 주요 차이점 : 프리 마켓과 마켓 트레이딩과 정기 거래 기간의 주요 차이점은 거래 시간, 유동성, 가격 변동 및 거래량 : 거래 시간 : 공식 거래가 시작되기 전에 시판 전 거래가 수행되기 전에 발생합니다. 유동성 : 시간 전 및 시간외 거래의 유동성은 낮으며, 거래자는 거의 없으며, 입찰 및 제안 가격 차이는 규칙적인 거래 기간 동안 높습니다.

Bittensor가 AI 트랙에서 'Bitcoin'이라고 말하는 이유는 무엇입니까? Bittensor가 AI 트랙에서 'Bitcoin'이라고 말하는 이유는 무엇입니까? Mar 04, 2025 pm 04:06 PM

원본 : Bittensor = Aibitcoin : S4mmyeth, 분산 AI 연구 원본 번역 :이 기사에서는 Bittensor, 분산 된 AI 플랫폼에 대해 논의하고, 중앙 집중식 AI 회사의 독점을 홍보하고 개방형 및 사형에 Ecosystem을 홍보하기를 희망합니다. Bittensor는 다양한 AI 솔루션의 출현을 허용하는 서브넷 모델을 채택하고 TAO 토큰을 통해 혁신을 고무시킵니다. AI 시장은 성숙하지만 Bittensor는 경쟁 위험에 직면하며 다른 오픈 소스의 적용을받을 수 있습니다.

한국 비트 코인과 국내 비트 코인의 차이가 있습니까? 한국 비트 코인과 국내 비트 코인의 차이가 있습니까? Mar 05, 2025 pm 06:51 PM

Bitcoin Investment Boom은 세계 최초의 분산 디지털 자산으로 인해 계속 가열되어 분산 및 글로벌 유동성에 많은 관심을 끌었습니다. 중국은 한때 비트 코인의 가장 큰 시장 이었지만 정책 영향으로 인해 거래 제한이 발생했습니다. 오늘날 한국은 세계의 주요 비트 코인 시장 중 하나가되어 투자자들이 IT와 국내 비트 코인의 차이점에 의문을 제기했습니다. 이 기사는 양국의 비트 코인 시장의 차이점에 대한 심층 분석을 수행 할 것입니다. 한국과 중국 비트 코인 시장의 차이점은 한국과 중국의 비트 코인 시장의 주요 차이점은 가격, 시장 공급 및 환율, 규제 감독, 시장 유동성 및 거래 플랫폼에 반영됩니다. 예를 들어, 2024 년 10 월 말에 한국의 비트 코인 가격은 한 번이었습니다.

수직 프록시 : 응용 시나리오 및 암호화 원시 프록시의 파괴적 잠재력 해석 수직 프록시 : 응용 시나리오 및 암호화 원시 프록시의 파괴적 잠재력 해석 Mar 04, 2025 am 10:21 AM

인공 지능 에이전트 (Aiagents)는 대기업에서 소기업에 이르기까지 기업의 일상 운영에 빠르게 통합되고 있으며, 거의 모든 영역 (거의 모든 영역이 영업, 마케팅, 재무, 법률, 프로젝트 관리, 물류, 고객 서비스 및 워크 플로우 자동화를 포함하여 사용되기 시작했습니다. 우리는 데이터의 수동 처리 시대에서 반복적 인 작업을 수행하며 Excel 테이블을 사용하여 시계 주변의 AI 에이전트의 자율 운영 시대로 이동하여 효율성을 향상시킬뿐만 아니라 비용을 크게 줄입니다. Web2에서 AI 에이전트의 응용 사례 : Ycombinator의 관점 Apten : AI 및 SMS 기술을 결합한 영업 및 마케팅 최적화 도구. Bildai : 건축 청사진을 읽을 수있는 모델,

한 기사에서 USDC, USDT, USD의 차이점을 알아보세요. 한 기사에서 USDC, USDT, USD의 차이점을 알아보세요. Jan 09, 2025 pm 02:47 PM

USDC(미국 달러 코인), USDT(테더), 미국 달러(USD)는 서로 다른 세 가지 금융 상품입니다. USDC는 미국 달러를 기반으로 하며 안정성이 높으며 암호화폐 거래 및 결제에 사용됩니다. USDT는 미국 달러를 기반으로 한다고 주장하지만 안정성 문제가 있습니다. USD는 유동성이 높은 법정통화로 일상적인 거래와 투자에 사용됩니다.

See all articles