首页
学习
活动
专区
圈层
工具
发布

mysql索引类型 normal, unique, full text

问题1:mysql索引类型normal,unique,full text的区别是什么?...normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索引。...mysql 索引分类 在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令 MySQL的查询和运行更加高效。索引是快速搜索的关键。...MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。 1、普通型索引 这是最基本的索引类型,而且它没有唯一性之类的限制。...ADD UNIQUE 索引的名字 (列的列表); (3)创建表的时候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE 索引的名字 (列的列 表) );

4.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL的事务属性

    1.0 什么是事务 1.事务:事务是数据库系统区别于其他一切文件系统的重要特性之一 2.事务是一组具有原子性的SQL语句,或是一个独立的工作单元 1.1 MySQL事务的特性 原子性(ATOMICITY...,后果你懂的… 一致性(CONSISTENCY):数据库的完整性不发生改变 举个例子 不管怎么转钱,总的余额不变 隔离性(ISOLATION):一个事务对数据库中的数据修改,未提交事务之前对于其他事务不可见...SQL标准的四种隔离级别 未提交读:简称脏读 已提交读:只能看到已提交事物的修改 可重复读:多次读取事物的数据是一致的,包括已提交的事务 可串行化:读取的每一行进行加锁 可能会导致锁超时,除非严格要求数据一致性...事务持久性(DURABILITY):一旦事务提交,其所做的修改会永久的存入数据库,即使系统崩溃 数据也不会丢失. 1.2 什么是大事务 运行时间比较长,操作的数据量比较多的事务....大事务可能会造成的影响 锁定太多的数据,造成大量的阻塞和锁超时 回滚时所需要的时间较长 执行时间长,容易造成主从延迟 1.3 如何处理大事务 避免一次处理太多的数据 移除不必要在事务中的

    1.4K40

    详细介绍mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE

    mysql索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE的详细介绍 Normal 普通索引 Unique 唯一索引 Full Text 全文索引 SPATIAL 空间索引 btree...,Primary Key是拥有自动定义的Unique约束,但是每个表中可以有多个Unique约束,但是只能有一个Primary Key约束。...mysql中创建Unique约束 Full Text 全文索引 表示全文收索,在检索长文本的时候,效果最好,短文本建议使用Index,但是在检索的时候数据量比较大的时候,现将数据放入一个没有全局索引的表中...SPATIAL 空间索引 空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。...MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。

    8.4K21

    mysql删除主键和删除索引(含删除unique索引)

    mysql删除主键和删除索引(含删除unique索引) ##删除表 DROP TABLE config_back; ##删除主键 ALTER TABLE config_back DROP PRIMARY...已删除', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='配置表备份表' 在MySQL...使用ALTER TABLE语句修改主键约束: ALTER TABLE 表名 DROP PRIMARY KEY, ADD PRIMARY KEY (列名); 这种方法适用于需要将原来的主键替换为其他列作为新的主键的情况...: ALTER TABLE 表名 DROP PRIMARY KEY, ADD UNIQUE (列名); 这种方法适用于需要移除主键约束,但仍需要保持一定的唯一性约束的情况。...ALTER TABLE config_back DROP PRIMARY KEY, ADD UNIQUE KEY (`price_end`); ##删除索引(含删除unique索引) ALTER TABLE

    4.9K10

    mysql学习总结03 — 列属性(字段属性)

    mysql学习总结03 — 列属性(字段属性) toc mysql中的6个列属性:null,default,comment,primary key,unique key,auto_increment 1...,具有业务意义(学生ID,课程ID) 逻辑主键:自然增长的整型(应用广泛) 5. unique key 唯一键 主键也可以用来保证字段数据唯一性,但一张表只有一个主键 唯一键在一张表中可以有多个。...唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较) 5.1 创建唯一键 随表创建 mysql> -- 方法1,给字段增加 unique[ key] 属性 mysql> create...6. auto_increment 自动增长 通常自动增长用于逻辑主键,只适用于数值,sqlserver中使用identity(1,1) 6.1 自动增长原理 在系统中维护一组数据保存当前使用自动增长属性的字段...,字段属性之后不再保留 auto_increment 即可 6.5 初始设置 在系统中有一组变量维护自增长的初始值和步长 show variables like ‘auto_increment%’; 6.6

    3.2K30

    sql数据库unique的用法_mysql中的date数据类型

    uniqueidentifier 数据类型不象IDENTITY 属性那样为新插入的行自动生成新的ID。...uniqueidentifier 值,除非也对此列指定了 UNIQUE 或 PRIMARY KEY 约束。...每个表中可以指定一个具有 ROWGUIDCOL 属性的 uniqueidentifier 列。ROWGUIDCOL 属性表明此列的 uniqueidentifier 值唯一地标识表中的行。...但是,该属性并没有执行该唯一性。唯一性必须通过其它机制来执行,比如为列指定 PRIMARY KEY 约束。ROWGUIDCOL 属性主要用于 SQL Server 复制。...如果全局唯一性并不是必须的,或者需要一个连续递增的键,则可以考虑使用 IDENTITY 属性。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    2.5K20

    mysql学习总结03 — 列属性(字段属性)

    mysql中的6个列属性:null,default,comment,primary key,unique key,auto_increment 1. NULL 代表字段为空。...table tbTest; 4 primary key 主键 4.1 创建主键 随表创建 mysql> -- 方法1,给字段增加 primary key 属性 mysql> create table...唯一键允许字段数据为NULL,NULL可以有多个(NULL不参与比较) 5.1 创建唯一键 随表创建 mysql> -- 方法1,给字段增加 unique[ key] 属性 mysql> create...6. auto_increment 自动增长 通常自动增长用于逻辑主键,只适用于数值,sqlserver中使用identity(1,1) 6.1 自动增长原理 在系统中维护一组数据保存当前使用自动增长属性的字段...,字段属性之后不再保留 auto_increment 即可 6.5 初始设置 在系统中有一组变量维护自增长的初始值和步长 show variables like ‘auto_increment%’;

    2.4K30

    MySQL自增长属性中的锁

    01 MySQL自增长属性中的锁 我们在设计表结构的时候,经常会对某一列设置自增长的值,它的作用是可以帮助我们自动递增某一列的值,自增长的属性经常被设置在主键列上,原因是主键必须具有唯一性,而自动增长可以避免重复...除此之外,自增长的属性还可以避免在数据插入的时候,出现大量的数据页分裂操作,关于这一点,后面说到索引的时候,会着重介绍,现在我们只需要知道,主键一般设置成自增长的即可。...关于自增长的属性,这里我多唠叨一句,试想一个这个场景,如果一个表的主键现在已经增长到8了,也就是id=8,此时我们删除这条记录,那么再次插入值的时候,这个值会是几???...在innodb存储引擎中,针对每个自增长的字段都有一个自增长的计数器,在对还有自增长列的表进行插入操作的时候,这个计数器会被初始化,在mysql中,我们可以执行下面的语句来得到这个计数器的当前值: select...MySQL5.1.22版本对这种锁进行了升级,提出了一个参数innodb_autoinc_lock_mode的参数来控制自增长的模式,这个参数默认值是1,总共可以设置三个值0,1,2 mysql--dba_admin

    3.6K30

    MySQL8.0---Create user的那些属性

    MySQL8.0---Create user的那些属性 01MySQL8.0.27版本简介 MySQL目前最新版本是8.0.27,今天下载了一个,尝尝鲜。...但是这个内容后面会专门用文章去讲解,今天主要来看create user里面那些冗长复杂的属性 02create user语法 我简单写了个create user语法,还是有很多的收获的。...2、在MySQL8.0.27中,一个账号具有很多属性,例如: IDENTIFIED WITH 'mysql_native_password':认证方法 可以选择下面3种, mysql_native_password...PASSWORD REUSE INTERVAL:密码使用时间策略 这个属性,跟上述属性类似,只不过是时间维度的,后面可以跟具体的天数N或者默认值default。...6、密码使用天数策略 7、修改密码是否需要原密码策略 这些属性当然可以设置为默认,通常也是这么做的,但是MySQL8.0中引入的这些特性,可以在某些具体场景下,提高密码安全性和可用性。

    1.4K20

    保持Unique Key的逻辑删除方案

    重要的业务数据一般都不会使用物理删除,都是使用一个状态标记deleted实现逻辑删除,但是这种情况下会破坏唯一索引,本位介绍了一些保持唯一索引的方法 除了逻辑删除还有别的替换方案吗?...也可以设计备份表,每次删除的时候,都把数据写入到备份表,并且原始记录使用JSON格式完整保存,然后再删除 优点: 原始表不会包含删除的数据,有利于查询效率 缺点:实现比较麻烦,每一张需要逻辑删除的表都需要备份表...但是这种情况,Unique Key会被破坏。...推荐方案:多deleted值 deleted:0代表未删除,其他值代表删除 id user_id hobby deleted 1 1 foo 0 2 1 foo 1 3 1 foo 2 这种方式可以保持Unique...,还可以知道删除的时间 参考 逻辑删除真的不是一个好的设计 逻辑删除情况下设计唯一索引的方案 逻辑删除的实现方式?

    2.8K20

    MySQL列属性之自增长

    杂谈 在网上看见关于一首歌的评论,共勉:十年前,你周围的人会根据你父母对待你。十年后,你周围的人会根据你对待你的父母和你的孩子!没有不弯的路,没有不谢的花。...通往成功的路不会平坦宽阔,实现自已的梦想不会一帆风顺,人生不如意十有八九,但这些都是暂时的。花开花落,潮起潮落,一切都会有终结的!...歌曲为:《路》-藤竹京 自增长 自增长:当对应的字段不给值(NULL)或者给默认值时,该字段会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的在不同的字段。...To:所有系统的表现(如字符集,校对集)都是由系统内部的变量进行控制的。...可以修改变量实现不同的效果:修改是针对整个数据修改,而不是单张表(修改是会话级) 语句形式:set auto_increment_increment=5; — 一次修改5 删除自增长 自增长是字段的一个属性

    6K20

    浅析MySQL存储引擎序列属性

    但是它的使用是有要求的,比如: 每个表只能有一个列具备AUTO_INCREMENT属性,并且为整数型 AUTO_INCREMENT列不能包含NULL值(MySQL会自动设置为NOT NULL) AUTO_INCREMENT...列上必选要有索引,常见为primary key和unique index 二、MyISAM存储引擎 MyISAM存储引擎是支持AUTO_INCREMENT属性的,它有如下几个特点: 单调递增,每次序列使用完后...202 | sunny | +-----+--------+ 4 rows in set (0.00 sec) 三、MEMORY存储引擎 MEMORY存储引擎同样是支持AUTO_INCREMENT属性的...属性,在文章《删除行对MySQL序列有什么影响呢?》...下面详细说明一下关于innodb_autoinc_lock_mode属性 (1) innodb_autoinc_lock_mode=0 代表传统模式,也就是说,在对有自增属性的字段插入记录时,会持续持有一个表级别的自增锁

    2K30
    领券