首页 > 其他分享 >索引

索引

时间:2024-03-06 15:55:05浏览次数:22  
标签:index name 索引 table alter users

索引是什么?

索引是对数据库表中一列或多列的值进行排序的一种结构。MySQL索引的建立对于MySQL的高效运行是很重要的,
索引可以大大提高MySQL的检索速度。

B+树:是通过二叉查找树,再由平衡二叉树,B树演化而来

 

 

 

 创建索引的三种方式

# 方式一:

create table t5(
    id int primary key auto_increment,
    name varchar(4),
    email varchar(10),
    unique key uni_name(name),
    index xxx(email)
);

# 方式二:

alter table t5 add index xxx(email);

# 方式三:

create index yyy on t5(name);

 

 增加聚集索引主键 

alter table s1 add primary key(id);

增加普通索引   

alter table s1 add index xxx(email);

创建唯一索引


CREATE UNIQUE INDEX uk_users_name ON t_users(name);
#uk_users_name:自由定义的唯一索引名称
#t_users:表格名称
#name:字段名称

 

注意:唯一索引对null不起作用,也就是字段为null的话可以重复;
注意:唯一索引对" “不起作用,也就是字段为” "的话不可以重复;


-- 删除唯一索引

drop index uk_users_name;

 


添加 if EXISTS,语句可重复执行不报错;

-- 删除唯一索引

drop index if EXISTS uk_users_name;

 



3 创建、删除唯一键约束
使用约束CONSTRAINT 创建不重复索引;和唯一索引效果一样;

-- 创建唯一键约束

ALTER TABLE t_users ADD CONSTRAINT uk_users_name1 UNIQUE (NAME);

 



-- 删除唯一键约束

alter table t_users drop constraint if EXISTS uk_users_name1;

 



 

 

删除主键:若主键有自增应先取消自增

alter table t5 drop primary key;
alter table t5 drop index xxx;

 

 

 

 

 

 

 

 

标签:index,name,索引,table,alter,users
From: https://www.cnblogs.com/97zs/p/18056806

相关文章

  • mysql没走索引原因分析(转)
    原文:https://juejin.cn/post/71149875593818603821、问题工作中,经常遇到这样的问题,我明明在MySQL表上面加了索引,为什么执行SQL查询的时候却没有用到索引?同一条SQL有时候查询用到了索引,有时候却没用到索引,这是咋回事?原因可能是索引失效了,失效的原因有以下几种,看你有没有踩过类......
  • pandas笔记(一)-- 大的国家(逻辑索引、切片)
    题目描述如果一个国家满足下述两个条件之一,则认为该国是大国:面积至少为300万平方公里人口至少为2500万编写解决方案找出大国的国家名称、人口和面积按任意顺序返回结果表,如下例所示测试用例输入:namecontinentareapopulationgdpAfghanistanAsia65223......
  • 聚集索引与非聚集索引的区别
     按照物理实现方式,索引可以分为两大类:1)聚集索引:在聚集索引里,表中数据行按索引的排序方式进行存储,对查找行很有效。只有当表包含聚集索引时,表内的数据行才会按找索引列的值在磁盘上进行物理排序和存储。每张表只能有一个聚集索引,原因很简单,因为数据行本身只能按一个顺序存储。......
  • SQL---索引
    今天我们一起学习并梳理一下数据库中的索引的知识,带着以下几个问题,去深入的了解。what:索引是什么?索引有哪几种类型?why:为什么要用到索引?作用是什么?优点和缺点?who:谁去使用?开发人员或测试人员where:在代码中或者sql查询中when:开发阶段、测试阶段、性能优化阶段how:怎么......
  • 使用 explain 索引优化(转)
    使用explain索引优化(转)原文:https://mp.weixin.qq.com/s?__biz=MzkwNjMwMTgzMQ==&mid=2247490262&idx=1&sn=a67f610afa984ecca130a54a3be453ab&source=41#wechat_redirect1、前言对于互联网公司来说,随着用户量和数据量的不断增加,慢查询是无法避免的问题。一般情况下如果出现慢......
  • C# 用foreach迭代集合时获取索引
    一般做法是循环外部定义index,内部累加值 staticvoidMain(string[]args){vararr=newList<string>(){"aaa","bbb","ccc"};varindex=0;foreach(varvalinarr){index++;Console.WriteLine($&quo......
  • MySQL之索引
    索引知识回顾:数据都是存在于硬盘上的,查询数据不可避免的需要进行IO操作索引:就是一种数据结构,类似于书的目录。意味着以后在查询数据的时候应该先找目录再找数据,而不是一页一页的番薯,从而提升查询熟读降低IO操作。索引在MySQL中也叫“键”,是存储引擎用于快速查找记录的一种数据......
  • 记一次在oracle数据库中添加全文索引的过程
    前景:在创建全文索引之前,有如下几个内容需要确认下:1.全文索引不支持nvarchar2类型,所以需要创建全文索引的字段的字段类型,如果是这个类型,可以修改为varchar2();2.如果需要创建全文索引的字段包含(1、中文、英文结合,或者纯英文;2、中文、数字结合,或者纯数字的)这几种情况的,需要对......
  • Elastic学习之旅 (5) 倒排索引和Analyzer分词
    大家好,我是Edison。上一篇:ES文档的CRUD操作重要概念1:倒排索引在学习ES时,倒排索引是一个非常重要的概念。要了解倒排索引,就得先知道什么是正排索引。举个简单的例子,书籍的目录页(从章节名称快速知道页码)其实就是一个典型的正排索引。而一般书籍的末尾部分的索引页,则是一个典型......
  • MongoDB 索引
    索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。索引是特殊的数据结构,索引存......