堆表:
缺点:
主键索引和表数据分离,增加数据所占用空间。可能主键索引的所占用的空间大于该表所对应的空间
添加或者修改索引字段时需要维护索引,索引还会产生日志。
增加IO次数(通过索引的rowid来查找rowid对应块)。
数据会按照插入行所需要的空间大小按照一定顺序查找所需要的位置,没有一定顺序。
优点:
容易维护,
如果直接获取主键信息并且条件中含有字段除了主键字段外没有其他的字段,可以直接查询索引数据
索引组织表:
缺点:
优点:
主键索引和表数据存储在一起,并且如果主键索引字段所占的整行的比例非常大,节省的空间非常明显。
数据会按照一定顺序存储。
如果根据主键获取对应的行,读取的块会尽可能的少。因为相同的主键的值都存储在一起(相同主键的行数据插入彼此靠近的地方),减少物理IO和逻辑IO。