一、创建表时创建索引

1. 创建普通索引

create table book (
    book_id int,
    book_name varchar(100),
    AUTHORS varchar(100),
    info varchar(100),
    comment varchar(100),
    year_publication year,
    # 声明索引
    index idx_bname(book_name)
);

# 查看索引
show index from book;

#查看某个查询语句中是否使用到了索引
explain select * from book b where b.book_name = 'mysql高级';

2. 创建唯一性索引
create table book1 (
    book_id int,
    book_name varchar(100),
    AUTHORS varchar(100),
    info varchar(100),
    comment varchar(100),
    year_publication year,
    # 声明索引
    unique index uk_idx_cmt(comment)
);

3. 创建联合索引
create table book2 (
    book_id int,
    book_name varchar(100),
    AUTHORS varchar(100),
    info varchar(100),
    comment varchar(100),
    year_publication year,
    # 声明索引
    index mul_bid_bname_info(book_id, book_name, info)
);

二、在已存在的表上创建索引

(1)方式一:

create table book3 (
    book_id int,
    book_name varchar(100),
    AUTHORS varchar(100),
    info varchar(100),
    comment varchar(100),
    year_publication year
);

1. 创建普通索引

alter table book3 add index idx_cmt(comment);

2. 创建唯一性索引

alter table book3 add unique index uk_idx_bname(book_name);

3. 创建联合索引

alter table book3 add index mul_bid_bname_info(book_id, book_name, info);

(2)方式二:

create table book4 (
    book_id int,
    book_name varchar(100),
    AUTHORS varchar(100),
    info varchar(100),
    comment varchar(100),
    year_publication year
);

1. 创建普通索引

create index idx_cmt on book4(comment);

2. 创建唯一性索引
create unique index uk_idx_bname on book4(book_name);

3. 创建联合索引
create index mul_bid_bname_info on book4(book_id, book_name, info);

MySQL常见的创建索引的方式相关推荐

  1. GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘

    摘要:云服务环境下,如何解决客户基于大量数据创建索引的性能问题,成为云服务厂商的一个挑战.华为云GaussDB(for MySQL)通过引入并行创建索引技术,很好地解决了批量索引创建和临时添加索引等性 ...

  2. 面试mysql中怎么创建索引_阿里面试:MySQL如何设计索引更高效?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  3. mysql按升序创建索引_Mysql中的降序索引底层实现

    什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集. 我们通常使用下面的语句来创建一个索引: 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引 ...

  4. mysql数据库如何创建索引,删除索引

    写在前面:要想了解索引的底层以及优化索引的底层还得学习不同搜索引擎下对于数据的处理,后续我会出一些相关的文章介绍,比如什么是B+tree,什么是聚簇索引什么是二级索引.联合索引等,以及不同搜索引擎下( ...

  5. mysql按升序创建索引_Mysql创建索引

    摘自:http://blog.chinaunix.net/uid-25063573-id-3032578.html 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技 ...

  6. mysql按升序创建索引_MySQL创建索引(CREATE INDEX)

    创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度.创建索引对 MySQL 数据库的高效运行来说是很重要的. 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREA ...

  7. mysql按升序创建索引_MySQL建立索引的基础规则

    1.mysql索引(基础与规则) 索引规则: 一.MySQL建表,字段需设置为非空,需设置字段默认值. 二.MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL. 三.MySQL建表 ...

  8. mysql按升序创建索引_MySQL中如何使用索引

    原标题:MySQL中如何使用索引 者:Airy 在数据分析之路狂奔,立志成为大咖级人物. 前言 学完基础的MySQL知识,以及MySQL的增删改查,我们要学习一些性能方面的东西.今天来讲一下索引(In ...

  9. MySQL为数据创建索引的目的_为数据表创建索引的目的是什么

    一.SQL创建索引的目的如下: 1.通过唯一性索引(unique)可确保数据的唯一性: 2.加快数据的检索速度: 3.加快表之间的连接: 4.减少分组和排序时间: 5.使用优化隐藏器提高系统性能. 二 ...

最新文章

  1. 036、Linux下ipmitool命令
  2. 循环链表的插入和删除
  3. 【新星计划】MATLAB绘制图形
  4. CSS display: table-cell 用于水平垂直居中
  5. 撒花!吴恩达新书《Machine Learning Yearning》完整中文版pdf开放下载
  6. 在gitlab 中使用webhook 实现php 自动部署git 代码
  7. 爬虫-练习-爬取访问后可见的内容
  8. html lineheight div,html – Chrome上的文本输入:line-height似乎有最小值
  9. Node.js抓取网页信息(cheerio网络爬虫)
  10. idea java opts_idea为java程序添加启动参数(program arguments,vm arguments,Environment variable),并在程序中获取使用...
  11. 从输入 URL 到页面展示,这中间发生了什么?
  12. ABAP 如何解析 JSON 数据试读版
  13. 以CIM平台推动数字孪生落地 以数字孪生助力智慧城市建设
  14. Win11任务栏怎么变小?Win11任务栏变小的设置方法
  15. java读取文件 classpath_Java读取Classpath文件
  16. 论文写作学习心得体会
  17. xxl-job——简介
  18. 头条等互联网公司面试准备、HR、Android技术等面试问题汇总
  19. 关于LocalDate、LocalTime、LocalDateTime
  20. Franka Emika Panda机械臂规划路径时,rviz中手爪显示碰撞

热门文章

  1. 2020年大学毕业生就业前景如何?职业规划定位准确,并不是难事
  2. 使用PS中的创建剪贴蒙版来做放大镜
  3. DayZ一键开服安装,开服工具,模组mod下载更新,工具!支持版本最新1.08--------1.03
  4. python ,ffprobe获取音频文件头信息,文件格式等
  5. 虚拟机没有网络还没有网络图标!!!
  6. Stata: 因变量是类别变量时采用什么方法估计?
  7. jquery 搜索like_10个jQuery Flash Like菜单
  8. 云服务器虚拟内存有用吗,云服务器上用虚拟内存有用
  9. 甘特图控件如何自定义绘图?DevExpress Winforms帮你忙
  10. JumpServer 安装部署