索引的作用很微妙的,举个现实中的例子可能更好理解简单假设有1~1000共1000个数,假设这些数杂乱无章的排列着,让你找其中的某个数,大概多长时间,5分钟?可能更长?如果给他提前做了处理 每200个数一组 1~200 201~400……801~1000 5组
然后每个组内在分为5个小组,例如: 1~200划分为 1~40 41~80……161~200
每个小组内再划分为更细的每8个数一组准备工作做完了,现在再让你你找某个数,你大概用多少时间,10秒以内能搞定不?

解决方案 »

  1.   

    有可能3亿的数据,如果是每层次划分10组,层层划分,只需要划分9层
    按最悲观的情况,每次都最后一次才找对,只需要90次比较就找到了,90次比较对于计算机来说就可以秒出了
    我这只是简单的打个比方,数据库的方法应该更加的优化,速度应该更快的
      

  2.   

    主键/索引是一样的,内容都是 (1~n个字段值,记录存放位置),都是在内存中查找。