一、MyIsam和InnoDB索引实现
对于myisam是通过将索引文件和数据文件单独存放的,但是一个表的多个索引只存储在一个文件中,这样的缺点是如果大量的使用索引,有可能会导致索引文件比数据文件更快的达到其最大大小,以为myisam的存储会受到操作系统所支持的最大文件的限制。
对于innodb,有两种方案来存放索引文件和数据文件,第一种(默认)是对于同一个数据库只使用一个表空间,即所有表的索引文件和数据文件都共享一个存储空间池,索引文件增加会导致数据文件可用的空间减少,但是该共享空间不受操作系统文件大小的限制,因此可以配置它使用多个文件,可以将其他的磁盘空间作为新部件的方式来扩展。另一种是不同的表使用不同的表空间,这种方式的表空间的大小受限于操作系统文件大小,对于该表的索引文件和数据文件依然是存储在一个表空间里面的,这种方式会导致增加索引会导致表的大小更快的达到文件的最大大小。