Heim > Datenbank > MySQL-Tutorial > MyISAM- 性能与特性的折中(2)_MySQL

MyISAM- 性能与特性的折中(2)_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:59:09
Original
821 Leute haben es durchsucht

  MyISAM 特性
  做为老牌的MySQL引擎。MyISAM有很多好的特性。这些特性已经被开发了很多年。已经能满足工作需要。

  锁和并发

  MyISAM锁定了整张表,而不是行。读取程序能获得将要读取的表的读锁。写入程序获得写锁。然而,当查询语句执行的时候,仍然可以插入新的数据。(并发插入)。这个是非常有用的特性。

  自动修复

  MySQL支持自动检测和修复MyISAM类型的表。

  手动修复

  你可以使用CHECK TABLE和REPAIR TABLE命令来检测表的错误和修复错误。当服务器停止的时候,你可以使用myisamchk命令行工具去检查和修复表。

  索引特性

  在MyISAM表中,你可以给第一个500字符的BLOB和TEXT列加上索引,MyISAM支持全文索引。为了复杂的查询,索引了单独的词。在以后会详细介绍索引。

  健写入延迟

  MyISAM表标有DELAY_KEY_WRITE的创建选项。意思是在一个语句结束后,不会把更改的索引写入到硬盘上。而是MyISAM在内存中缓存了更该。当它精简缓冲区或者关闭表的时候,就会把缓存的索引块写入到硬盘。对于一个频繁更新的表,会有很大的性能提升。然而,在服务器或系统挂掉的时候,索引也会被破坏,并且需要去修复它。你可以在服务器启动之前,用myisamchk去检测并修复。或者使用自动修复的选项。(即使你不使用DELAY_KEY_WRITE这个特性,这个个也是个很好的安全方案)。你可以全局的配置DELAY_KEY_WRITE。也可以给单独的表进行配置。

  压缩的MyISAM表

  举个例子吧,在基于CD-ROM或者DVD-ROM的应用程序以及其他的嵌入式环境。一旦这些表被建立就不会修改以及填满了数据。这些表就非常适合被压缩。

  你可以使用myisampack工具去压缩表。你不能更改压缩表(虽然你可以解压缩,修改,重新压缩),但是这种表能节省大量的硬盘空间。也可以提高性能,因为这种表小,需要的硬盘空间也很少,也就能快速的查找记录了。压缩表可以有索引,但是它们仅仅是只读的。

  对解压缩的数据进行读取,对于大多数现代的硬件来说都是可以忽略不计的。压缩的真正的好处是在于降低了硬盘的I/O.行可以单独的压缩,因此MySQL没有必要解压缩整个表,仅仅提取一行就可以了。

  MyISAM Merge Engine

  Merge引擎是MyISAM的变种。一个Merge表是许多相同的MyISAM表整合到一个虚表中。这点比较适合把MySQL应用在日志和数据仓库的应用中。

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage