zoukankan      html  css  js  c++  java
  • MySQL—索引(Index)

    前言:

    关于MySql索引数据结构和实现原理的讲解值得阅读一下:

    实现原理:https://www.cnblogs.com/songwenjie/p/9415016.htm

    索引数据结构:https://www.cnblogs.com/songwenjie/p/9414960.html

    1.什么是索引:

      MySQL官方对索引的定义:索引(Index)是帮助MySQL高效获取数据的数据结构。

      提取句子的主干,就可以得到索引的本质:索引就是数据结构。

    2.索引的分类

    在一个表中,主键索引只能有一个,而唯一索引可以有多个

    1. 主键索引(PRIMARY KEY)

        特点:唯一标识,不可重复。只能有一列作为主键,且主键不可为Null。

    1. 唯一索引(UNIQUE KEY)

        特点:避免重复的列出现,唯一索引可以重复,多个列都可以标识为 唯一索引。

    1. 常规索引(KEY/INDEX)

        特点:默认的,index。key关键字来设置

    1. 全文索引(FullText)

        特点:在特定的数据库引擎下才有,MyISAM,可以快速定位数据

    3.MySQL索引创建与使用(基础语法)

      参考博客:https://blog.csdn.net/justry_deng/article/details/81458470

      索引一旦创建则不能修改,如果要修改索引,只能删除重建。可以使用DROP INDEX index_name ON table_name; 删除索引。

    4.索引优势和劣势

      优势:1.提高数据的检索效率,降低数据库IO成本。  2.降低数据排序的成本,降低CPU的消耗。

      劣势:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

    5.索引使用原则

      1.不要对进行变动的数据加索引    比如:插入删除更新

      2.小数据量的表不需要加索引

      3.索引一般加在常用来查询的字段上!

      4.索引不是越多越好

  • 相关阅读:
    SVG 支持动画
    js ==与===区别(两个等号与三个等号
    PHP设计模式之单例模式
    MySQL函数大全 及用法示例
    MySQL存储过程和函数
    MYSQl left join联合查询效率分析
    STL 算法[转 ]
    PHP 调整浏览器缓存
    php filter_var[转]
    C++ string学习[转]
  • 原文地址:https://www.cnblogs.com/luckyjcx/p/12299410.html
Copyright © 2011-2022 走看看