zoukankan      html  css  js  c++  java
  • Mysql 什么时候需要创建索引

    虽然索引可以加快查询速度,提高 MySQL 的处理性能,但是过多地使用索引也会造成以下弊端:

    创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
    除了数据表占数据空间之外,每一个索引还要占一定的物理空间。如果要建立聚簇索引,那么需要的空间就会更大。
    当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的维护速度。
    注意:索引可以在一些情况下加速查询,但是在某些情况下,会降低效率。
    索引只是提高效率的一个因素,因此在建立索引的时候应该遵循以下原则:

    在经常需要搜索的列上建立索引,可以加快搜索的速度。
    在作为主键的列上创建索引,强制该列的唯一性,并组织表中数据的排列结构。
    在经常使用表连接的列上创建索引,这些列主要是一些外键,可以加快表连接的速度。
    在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,所以其指定的范围是连续的。
    在经常需要排序的列上创建索引,因为索引已经排序,所以查询时可以利用索引的排序,加快排序查询。
    在经常使用 WHERE 子句的列上创建索引,加快条件的判断速度。
    现在大家知道索引为啥能这么快了吧,其实就是一句话,通过索引的结构最大化的减少数据库的IO次数,毕竟,一次IO的时间真的是太久了。。。

  • 相关阅读:
    jQurey中getJSON方法错误回调方法
    easyui-datagrid 假分页
    布局页
    SQL游标(cursor)详细说明及内部循环使用示例
    Jquery 实现事件冒泡
    Jquery 实现选项卡
    Jquery 实现折叠菜单
    Jquery 实现表格的隔行换色
    Html5 考点内容
    Html5 之Canvas [画布]
  • 原文地址:https://www.cnblogs.com/ruiati/p/13625058.html
Copyright © 2011-2022 走看看