比方说我现在有一张全是人名的表student。
如果单独的执行select * from student where name ='zhangsan'. 这样肯定是可以的,对吧后来说是建立索引会快点,我就在name属性上面建立了一个索引。
alter table student add index idx_name(name);这个时候我在执行 select * from student where name ='zhangsan'。 这样就比建立索引之前快了么?如果是的话,是为什么呢?数据库内部实现了一个查找函数????谢谢各位回答。在线等。。

解决方案 »

  1.   

    会单独拿出来name列的数据做一个B树结构 
      

  2.   

    就是说这件事情是由mysql 自己做的对么?我们只需要执行一个索引语句就行了?然后mysql自动在内部建立一个针对该属性的结构??
      

  3.   

    这个话题细讲起需要上千字来讲给数据库初学者才能讲清楚《数据库系统概论(第四版)》 王珊 萨师煊   高等教育出版社 (掌握基础知识和概念) 然后再粗略浏览一遍MYSQL的官方手册。(方便以后查找,避免类似于考试的时候,给你本政治书也不知道答案在第几章,第几页)MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html