使用Mysql索引

时间:2012-09-11 10:39:15

标签: mysql

  1. MYISAM表类型或引擎 - 在磁盘上为每个表创建3个文件。

    1. for structure .frm
    2. for data .myd
    3. 索引.myi 如果我为已存在的表创建新索引,那么上面哪些文件会被更改?
  2. 当我们创建索引时,表格中的数据究竟发生了什么? 表中的记录是否为索引列进行了变换?

  3. 如果我们将新记录插入name = aaasssalary = 40500,该记录存储在哪个位置?在末尾?或者当我们创建索引时,它会存储名称= aaab?

  4. 例如表是

    id name salary
    1  aaa   20000
    2  ddd   23000
    3  aaabb 10000
    4  dddqa 40000
    

    如果我在名称上创建索引,那么数据是否会被激活,如下所示?

    id name salary
    1  aaa   20000
    3  aaabb 10000
    2  ddd   23000
    4  dddqa 40000
    

    如果没有,那么索引的用途是什么?

1 个答案:

答案 0 :(得分:0)

如果为已存在的表创建新索引,那么.frm.myi文件应该更新,因为.frm将更新表定义中的新索引和myi文件将使用新索引树进行更新。

在表上定义的

PRIMARY KEYclustured index,其中记录按照键顺序按排序顺序存储。