zoukankan      html  css  js  c++  java
  • 索引的操作

    索引是一种有效组合数据的方式。通过索引,可以快速快速查询到数据库表对象中的特定记录,是一种提供性能的常用方式

    1、关于索引

    使用索引可以提高从表中检索数据的速度,索引由表中的一个字段和多个字段生成的键组成。

    索引按存储类型可分为:B型树索引(BTREE)和哈希索引。

    MySQL支持6种索引,分别为普通索引、唯一索引、全文索引、单列索引、多列索引、空间索引。

    过多的索引会占据大量的磁盘空间。

    一下情况适合创建索引:

    • 经常被查询的字段,即在WHERE子句中经常出现的字段
    • 在分组的字段,即在GROUP BY子句中出现的字段
    • 存在依赖关系的子表和父表之间的联合查询,即主键或外键字段
    • 设置唯一完整性约束的字段

    2、创建表时创建普通索引

    普通索引:在创建索引时,不附加任何限制条件(唯一,非空等限制),该类型的索引可以创建在任何数据类型的字段上。

    语法形式:

    create table table_name(

      属性名 数据类型,

      ……

      index|key [索引名](属性名1 [长度] [ASC|DESC])

    3、在已经存在的表上创建普通索引

    语法形式:

    create index 索引名 on table_name (属性名 [长度] [ASC|DESC]);

    4、通过SQL中语句alter table创建普通索引

    语法形式:

    alter table table_name add index|key 索引名(属性名 [长度]  [ASC|DESC]);

    5、创建表时创建唯一索引

    唯一索引:在创建索引时,限制索引的值必须是唯一的。

    在MySQL中,根据索引的创建方式,分为手动索引和自动索引两种。

    自动索引,是指在数据库表里设置完整性约束时,该表会被系统自动创建索引。手动索引,是指手动在表上创建索引。当设置表的某个字段为主键或唯一完整性约束时,系统就会自动创建关联该字段的唯一索引。

    语法形式:

    create table table_name(

      属性名 数据类型,

      ……

      unique index|key [索引名](属性名1 [长度] [ASC|DESC])

    );

    6、在已经存在的表上创建唯一索引

    语法形式:

    create unique index 索引名 on table_name (属性名 [长度] [ASC|DESC]);

    7、通过SQL语句alter table创建唯一索引

    语法形式:

    alter table table_name add unique index|key 索引名(属性名 [长度] [ASC|DESC]);

    8、删除索引

    删除索引即删除表中已存在的索引。之所以要删除索引,是由于这些索引会降低更新速度,影响数据库的性能。

    语法形式:

    drop index 索引名 on table_name;

  • 相关阅读:
    大型网站架构系列:负载均衡详解(1)
    转:构建高并发高可用的电商平台架构实践
    转:RBAC权限控制
    小型电商网站的架构
    中小型电子商务网站架构
    装饰器在类中的实现
    使用MySQLdb操作Mysql数据库
    unicode转中文以及str形态的unicode转中文
    了解Python内存管理机制,让你的程序飞起来
    多线程初级入门学习
  • 原文地址:https://www.cnblogs.com/alphajuns/p/9874898.html
Copyright © 2011-2022 走看看