목차
概述
MyISAM
InnoDB
MEMORY
MERGE
总结
데이터 베이스 MySQL 튜토리얼 (5)mysql常用存储引擎_MySQL

(5)mysql常用存储引擎_MySQL

Jun 01, 2016 pm 01:00 PM
일반적으로 사용되는 엔진

概述

??mysql5.5之前默认存储引擎是MyISAM,5.5之后改为InnoDB。若要修改默认引擎,可以修改配置文件中的default-storage-engine。可以通过show engines来查看当前数据库支持的引擎。使用select engine from information_schema.engines where transactions = 'yes';来查看哪些引擎支持事务。在创建表到时候通过engine=...或type=...来指定所要使用到引擎。

MyISAM

它不支持事务,也不支持外键,其优势是访问的速度快,对事务完整性没有要求的或者以select/insert为主的应用基本上可以使用这个引擎来创建表。

每个MyISAM在磁盘上都有3个文件,其文件名都与表名相同,但扩展名是:

.frm(表定义) .MYD(MYDate:存储数据) .MYI(MYIndex:存储索引) .MYD文件和.MYI文件可以放置在不同的目录中,通过 data directory 和index directory语句指定。 MyISAM类型的表可能会损坏,可以使用CHECK TABLE语句来检查MyISAM表的健康,并用REPAIR TABLE语句修复一个损坏到MyISAM表。

MyISAM支持3种不同的存储格式:

静态(固定长度)表 动态表 压缩表

??在静态表中,如果需要保存的内容后面本来就带有空格,那么在返回结果的时候会去掉公共的。
??在动态表中,记录不固定,优点是占用空间相对比较少,缺点是频繁的更新和删除记录会产生碎片,需要定期执行optimize table 来改善性能。
??在压缩表中,由myisampack工具创建,占据非常小的磁盘空间。因为每个记录都被单独压缩的。

InnoDB

InnoDB支持事务安全,对比MyISAM引擎,InnoDB写的效率差一些,并且会占据更多的磁盘空间。 InnoDB自动增长列可以手工插入,但是插入的值是空或者0,则实际插入的将是自动增长后的值。可以使用last_insert_id()查询当前线程最后插入记录使用的值。可以通过alert table *** auto_increment=n;语句强制设置自动增长值。 对于InnoDB表,自动增长列必须是索引。如果是组合索引,也必须是组合索引的第一列,但是对于MyISAM表,自动增长列可以是组合索引的其他列,这样插入记录后,自动增长列是按照组合索引到前面几列排序后递增的。 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括restrict、cascade、set null和no action。其中restrict和no action相同,是指限制在子表有关联的情况下,父表不能更新;casecade表示父表在更新或删除时,更新或者删除子表对应的记录;set null 则表示父表在更新或者删除的时候,子表对应的字段被set null。当某个表被其它表创建了外键参照,那么该表对应的索引或主键被禁止删除。可以使用set foreign_key_checks=0;临时关闭外键约束,set foreign_key_checks=1;打开约束。

InnoDB存储表和索引有如下两种方式:

使用共享表空间存储。 使用多表空间存储。

MEMORY

memory使用存在内存中的内容来创建表。每个MEMORY表实际对应一个磁盘文件,格式是.frm。MEMORY类型的表访问非常快,因为它到数据是放在内存中的,并且默认使用HASH索引,但是一旦服务器关闭,表中的数据就会丢失,但表还会继续存在。 每个MEMORY表中放置到数据量的大小,受到max_heap_table_size系统变量的约束,这个系统变量的初始值是16M,同时在创建MEMORY表时可以使用MAX_ROWS子句来指定表中的最大行数。 memory主要用于那些内容变化不频繁的代码表,或作为统计操作的中间结果表。

MERGE

merge存储引擎是一组MyISAM表的组合,这些MyISAM表结构必须完全相同,MERGE表中并没有数据,对MERGE类型的表可以进行查询、更新、删除的操作,这些操作实际上是对内部的MyISAM表进行操作。 对于对MERGE表进行的插入操作,是根据INSERT_METHOD子句定义的插入的表,可以有3个不同的值,first和last值使得插入操作被相应的作用在第一个或最后一个表上,不定义这个子句或者为NO,表示不能对这个MERGE表进行插入操作。 可以对MERGE表进行drop操作,这个操作只是删除MERGE表的定义,对内部的表没有任何影响。 MERGE在磁盘上保留2个以MERGE表名开头文件:.frm文件存储表的定义;.MRG文件包含组合表的信息,包括MERGE表由哪些表组成,插入数据时的依据。可以通过修改.MRG文件来修改MERGE表,但是修改后要通过flush table刷新。 merge表与分区表的区别是:merge表不会智能的将记录写到对应的表中,而分区表可以的。

总结

仍一张表作为总结:
mysql常用存储引擎

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

캔버스 프레임워크를 배우고 일반적으로 사용되는 캔버스 프레임워크에 대해 자세히 설명합니다. 캔버스 프레임워크를 배우고 일반적으로 사용되는 캔버스 프레임워크에 대해 자세히 설명합니다. Jan 17, 2024 am 11:03 AM

Canvas 프레임워크 탐색: 일반적으로 사용되는 Canvas 프레임워크가 무엇인지 이해하려면 특정 코드 예제가 필요합니다. 소개: Canvas는 풍부한 그래픽 및 애니메이션 효과를 얻을 수 있는 HTML5에서 제공되는 그리기 API입니다. 그리기의 효율성과 편의성을 향상시키기 위해 많은 개발자들이 다양한 Canvas 프레임워크를 개발했습니다. 이 기사에서는 일반적으로 사용되는 몇 가지 캔버스 프레임워크를 소개하고 독자가 이러한 프레임워크를 사용하는 방법을 더 깊이 이해하는 데 도움이 되는 특정 코드 예제를 제공합니다. 1. EaselJS 프레임워크 Ea

공개된 Spring 주석: 공통 주석 분석 공개된 Spring 주석: 공통 주석 분석 Dec 30, 2023 am 11:28 AM

Spring은 Java 개발을 단순화하고 향상시키기 위해 많은 주석을 제공하는 오픈 소스 프레임워크입니다. 이 기사에서는 일반적으로 사용되는 Spring 주석을 자세히 설명하고 구체적인 코드 예제를 제공합니다. @Autowired: Autowired @Autowired 주석은 Spring 컨테이너에 Bean을 자동으로 연결하는 데 사용할 수 있습니다. 종속성이 필요한 @Autowired 주석을 사용하면 Spring은 컨테이너에서 일치하는 Bean을 찾아 자동으로 주입합니다. 샘플 코드는 다음과 같습니다. @Auto

Redmi G Pro 2024 3월 4일에 만나요, 아이스 쿨링과 폭력적인 엔진 PC 버전 지원 Redmi G Pro 2024 3월 4일에 만나요, 아이스 쿨링과 폭력적인 엔진 PC 버전 지원 Mar 02, 2024 pm 12:19 PM

Redmi는 오늘 새로운 Redmi GPro 2024가 3월 4일에 공식 출시될 것이라고 공식 발표했습니다. 즉, 다음 주에 우리는 이 흥미로운 신제품을 출시하게 될 것입니다. RedmiGPro2024는 e-스포츠 플래그십으로 전면 데뷔하여 휴대폰 업계의 역량을 노트북 사업에 깊이 통합하고 210W 슈퍼 성능 출시를 선보이며 Redmi 성능이 새로운 최고치를 달성했습니다. i9-14900HX 프로세서와 RTX4060 그래픽 카드를 탑재해 e스포츠와 창작을 완벽하게 결합해 이중 진화를 이룬다. 이런 관점에서 볼 때 이번 신제품의 성능은 다시 한 번 향상될 것이며 실제 효과는 흥미롭다. 공식 워밍업에서 새로운 Redmi G Pro 2024가 강력한 엔진의 PC 버전을 제공한다고 언급되었습니다. 휴대폰 기술 강화, 세 가지 주요 요인이 주도

NVIDIA AI 게임 엔진 실제 테스트 : NPC와 실시간 채팅, 중국어가 유창함 NVIDIA AI 게임 엔진 실제 테스트 : NPC와 실시간 채팅, 중국어가 유창함 Mar 04, 2024 am 09:40 AM

'사이버펑크 2077'에서 황학자가 만든 지능형 NPC는 이미 중국어를 할 수 있다고요? 중국어와 영어로 유창하게 대화하는 NPC들의 자연스러운 표정과 움직임, 그리고 입 모양의 조화까지.. 눈앞에 스크린이 없었다면 정말 그곳에 있는 것 같은 느낌이 들었습니다. 올해 CES 전시회에서 엔비디아는 자사의 지능형 엔진인 아바타 클라우드 엔진(ACE)을 사용해 게임 NPC를 '살아있다'로 만들어 적잖은 충격을 안겼다. △CES에 전시된 지능형 NPC는 ACE를 사용한다. 게임 속 캐릭터는 미리 대본을 준비하지 않고도 생생한 표정과 신체 움직임을 보여주며 플레이어와 실감나는 음성 대화를 할 수 있다. 데뷔 당시 유비소프트, 텐센트, 넷이즈, 미호요 등이 있었다.

초현실적인 렌더링! 언리얼 엔진 기술 전문가가 전역 조명 시스템 Lumen에 대해 설명합니다. 초현실적인 렌더링! 언리얼 엔진 기술 전문가가 전역 조명 시스템 Lumen에 대해 설명합니다. Apr 08, 2023 pm 10:21 PM

실시간 전역 조명(Real-time GI)은 항상 컴퓨터 그래픽의 성배였습니다. 수년에 걸쳐 업계에서는 이 문제를 해결하기 위해 다양한 방법을 제안해 왔습니다. 일반적인 방법에는 정적 기하학, 대략적인 장면 표현 또는 대략적인 프로브 추적과 같은 특정 가정을 활용하고 둘 사이에 조명을 보간하여 문제 영역을 제한하는 것이 포함됩니다. 언리얼 엔진에서 전역 조명 및 반사 시스템인 Lumen 기술은 Krzysztof Narkowicz와 Daniel Wright가 공동 창립했습니다. 목표는 이전 제품과 달리 균일한 조명과 구워진 듯한 조명 품질이 가능한 솔루션을 구축하는 것이었습니다. 최근 SIGGRAPH 2022에서 Krzysztof Narko는

엔진 환경 변화: 3기통 엔진이 6기통과 8기통의 지배력에 도전합니다. 엔진 환경 변화: 3기통 엔진이 6기통과 8기통의 지배력에 도전합니다. Oct 08, 2023 pm 10:57 PM

8일 뉴스에 따르면 미국 자동차 시장은 그동안 사랑받았던 6기통과 8기통 동력엔진이 점차 그 위세를 잃어가는 가운데 3기통 엔진이 등장하고 있다. 10월 8일자 뉴스에서는 미국 자동차 시장이 내부적으로 변화를 겪고 있다는 소식을 전했습니다. 과거에 사랑받았던 6기통과 8기통 동력엔진은 점차 그 지배력을 잃어가고 있으며, 대부분의 사람들의 마음 속에는 미국인들이 대용량 배기량 모델과 '미국의 대형 V8'을 좋아하기 시작하고 있습니다. 항상 미국 자동차와 동의어였습니다. 그러나 최근 외신이 공개한 자료에 따르면 미국 자동차 시장의 지형은 엄청난 변화를 겪고 있으며 내부 경쟁도 치열해지고 있다. 2019년 이전에는 미국이

15 일반적으로 사용되는 통화 서클 이스케이프 인덱스 기술 분석 15 일반적으로 사용되는 통화 서클 이스케이프 인덱스 기술 분석 Mar 03, 2025 pm 05:48 PM

상위 15 개의 Bitcoin Escape Index에 대한 심층 분석 : 2025 년 시장 전망이 기사는 일반적으로 사용되는 15 개의 Bitcoin Escape Index를 깊이 분석하며, 그 중 비트 코인 Rhodl 비율, USDT 현재 자산 관리 및 Altcoin 계절 지수가 2024 년에 탈출 지수에 도달하여 시장의 관심을 끌었습니다. 투자자는 어떻게 잠재적 위험을 처리해야합니까? 이러한 지표를 하나씩 해석하고 합리적인 대응 전략을 탐색합시다. 1. 주요 지표에 대한 자세한 설명 AHR999 Coin Hoarding Indicator : AHR999에 의해 생성, 비트 코인 고정 투자 전략 지원. 현재 값은 1.21로 대기중인 범위에 있으므로 조심해야합니다. AHR999에 대한 링크 Escape Top Indicator : AHR999 Coin Hoarding Indicator 보충제, 시장의 최고를 식별하는 데 사용됩니다. 현재 값은 이번 주 2.48입니다

PHP에서 일반적으로 사용되는 암호화 알고리즘은 무엇입니까? PHP에서 일반적으로 사용되는 암호화 알고리즘은 무엇입니까? May 12, 2023 pm 06:51 PM

인터넷의 발달로 인해 데이터 보안은 일상 업무에서 주의를 기울여야 하는 심각한 문제가 되었습니다. 민감한 개인 정보나 비즈니스 데이터의 경우 암호화가 특히 중요합니다. PHP 개발에서는 일부 암호화 알고리즘이 널리 사용됩니다. PHP에서 일반적으로 사용되는 암호화 알고리즘을 살펴보겠습니다. 1. Base64 인코딩 Base64 인코딩은 웹 페이지나 이메일에서 바이너리 데이터를 전송할 때 자주 사용됩니다. 웹 페이지나 이메일은 문자열 형식의 데이터만 전송할 수 있고 바이너리 데이터를 직접 전송할 수 없기 때문입니다. Base64는 솔루션입니다

See all articles