现在的位置: 首页 > 综合 > 正文

mysql与索引

2013年08月21日 ⁄ 综合 ⁄ 共 578字 ⁄ 字号 评论关闭

数据规模越大,有无索引的差别就越大。实际上,小型个人专业专用应用程序,完全不用索引也能达到理想的速度。数据有1000条左右时,利用树搜索的额外开销反而更大,正常地从头开始查找更快一些。但是,数据变大后,就会出现没有索引根本无法访问的状况。所以说索引真的非常重要。而且,mysql内部有某种程度的优化,会根据记录数来判断用索引快还是不用索引快。

   不过mysql也有不足,mysql的适用性有点不好。即使针对带有索引的列进行查询,有些sql语句也不会使用索引。

  •    基本上,使用索引的有:

       where,order by,group by 条件中指定的列。

       例如select * from entry where url = “http://...”这个查询在where语句中指定了url列,那么如果url列上有索引,就会使用。

  •    何时索引有效

    ->明确地添加的索引

    ->主键、UNIQUE约束

    在mysql中,除了用alter table命令等明确地添加的索引之外,带有主键和UNIQUE约束的列上有索引。用show index命令可以确认索引的内容。

  • mysql索引的陷阱

    ->想同时使用多个列上的索引,就必须使用复合索引

    在这儿就出现问题了,mysql每次查询只能使用一个索引。如果想同时使用两个索引就必须设置(url,timestamp)这个符合索引。

抱歉!评论已关闭.