zoukankan      html  css  js  c++  java
  • Mysql中的索引

    索引

    什么是索引?

    索引是系统内部自动维护的隐藏的“数据表”,它的作用是,可以极大地加快数据的查找速度!

    这个隐藏的数据表,其中的数据是自动排好序的,其查找速度就是建立在这个基础上。

     

    通常,所谓建立索引,其实是指定一个表的某个或某些字段作为“索引数据字段”就可以了,形式为:

    索引类型(要建立索引的字段名)

    索引类型有如下几个:

    普通索引:  形式: key(字段名)

    含义: 就是一个索引而已,没有其他作用,只能加快查找速度;

    唯一索引:  形式: unique  key(字段名)

    含义: 是一个索引,而且还可以设定其字段的值不能重复(唯一性);

    主键索引: 形式: primary  key (字段名)

    含义: 是一个索引,而且,还具有区分该表中的任何一行数据的作用(其实也是唯一性)

    它其实比唯一性索引多一点功能:唯一性可以为空null,而主键不能为空;

    全文索引:  形式: fulltext (字段名)。

    外键索引:  形式: foreign  key (字段名) references  其他表(对应其他表中的字段名)

    演示索引创建语法:

     

    此时,该表中如果以iduser_name,或email做条件进行查找,就会“很快”,而以age做条件就会“很慢”。

    外键索引:  

    形式: foreign  key (字段名) references  其他表(对应其他表中的字段名)

    什么叫外键?

    外键,就是指,设定的某个表(tab1)某个字段(f1),它的数据的值,必须是在另一个表(tab2)中的某个字段(f2)中存在!

     

    示例:

     

    此时,插入xuesheng表中的数据时,banji_id字段的值,就不可以随便插入了,而是必须是banji表中的id字段所已经有的数据值,才可以插入。

  • 相关阅读:
    建立适当的索引
    Windows 10Bash命令
    代码生成工具介绍和使用
    分布式的任务调度框架
    Net分布式系统
    Keepalived+LVS+Nginx负载均衡之高可用
    call,apply,bind
    2015搜狐在线笔试题(内存泄露问题)(转)
    十步完全理解SQL(转)
    Linux shell用法和技巧(转)
  • 原文地址:https://www.cnblogs.com/457248499-qq-com/p/7368067.html
Copyright © 2011-2022 走看看