zoukankan      html  css  js  c++  java
  • 数据库索引的使用

    前言

        编写后台管理系统,测试使用,发现加载数据很慢,平均1秒多。之后和同事一起查找原因,从后段代码到前端,

    最后问题是在数据库到设计,表没有主外键,之后我们把索引加上后,速度杠杠的...

    数据库索引是什么

        索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

    数据库索引好比是一本书前面的目录,能加快数据库的查询速度。

        索引分为聚簇索引非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;

    聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。

    索引有啥优缺点

    优点

    第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 
    第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 
    第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 
    第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 

    第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

    缺点

    第一,创建索引和维护索引要耗费时间,这种时间随着数据 量的增加而增加。 
    第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。

    第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

    索引有啥子特征呢

    唯一性索引保证在索引列中的全部数据是唯一的,不会包含冗余数据。

    复合索引就是一个索引创建在两个列或者多个列上。

    总之使用索引还是不错的。

  • 相关阅读:
    android升级软件版本号,您安装后的新版本号,成功安装画面没有出现,或直接回到桌面
    Linux下安装Tomcat服务器和部署Web应用
    Linux下开启mysql数据库的远程访问权限
    【项目管理和构建】——Maven简介(一)
    用maven搭建多模块项目
    Maven之自定义pom类型的基础项目
    Maven之搭建本地私服(nexus)仓库
    Maven之自定义archetype生成项目骨架(一)
    Maven多模块项目搭建
    安装maven之后,cmd提示mvn不是内部命令的解决办法
  • 原文地址:https://www.cnblogs.com/PreachChen/p/8658621.html
Copyright © 2011-2022 走看看