zoukankan      html  css  js  c++  java
  • MySQL 索引

    一、索引是什么

    索引 就是目录

    二、索引有什么用

    索引的用处就是查东西的时候不用一页一页的翻找  你根据索引就能直接跳到精准的那一页

    三、设计原则

    1. 条件做索引

    可以这么说,最适合做索引的字段是出现在where条件中的字段,或表连接子句中的字段。

    2. 尽量唯一字段做索引

    如果有某个字段重复量很少,那么给它加上索引来查询的效果是非常爽的。

    3. 索引不可过多

    过多则慢,每个索引都会占据磁盘空间,并降低写操作性能,在修改表的同时,索引也要进行更新,所以索引越多,所花费的时间越长,索引越多,会导致mysql优化器查询的时候出现选择困难症。

    四、具体索引

    1. 主键索引

    这个不用想太多,主键自增非空直接扔给id字段,这个不用讲什么道理不道理的,就两字:规范。

    2. 唯一索引

    加上唯一索引之后,这个字段将不能出现重复值。(其实我有时候加这个索引不是为了查询,而是为了保证值的唯一性 ^.^ )

    3. 普通索引

    就是普通的索引,为了查询而存在。

    4. 组合索引

    一般来说,组合索引是用在保证组合唯一的需求上,比如a字段和b字段的组合值必须唯一,还需要知道的是,组合索引ab,当我只拿索引中的单个字段来查时,如where a="xxx" 时,会使用到这个索引,但是如果我where b="xxx"时,是不会使用到这个索引的,所以组合索引以左边索引为主索引。

    5. 全文索引

    还有一种叫全文索引,也就是在文本中搜索关键字的时候有这个索引需求,这个索引原来只支持MyISAM,InnoDB从MySQL5.6版本开始提供对全文索引的支持。

    五、个人分享

    建表的时候,结合业务思考一下这张表在查询时经常要出现在where条件中的字段,在心里按照使用频率排个序,挑频率最高的一到两个用来做索引。

  • 相关阅读:
    git fetch 的简单用法:更新远程代码到本地仓库
    git 查看远程分支、本地分支、创建分支、把分支推到远程repository、删除本地分支
    Eclipse快捷键
    git fetch 的简单用法:更新远程代码到本地仓库
    MySql5.7
    Git 中 SSH key 生成步骤
    mysql linux环境
    CentOS定时备份MySQL数据库
    Linux下Tomcat重新启动
    HTML实体符号代码速查表
  • 原文地址:https://www.cnblogs.com/fengyumeng/p/9843573.html
Copyright © 2011-2022 走看看