首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库,详解索引分类

索引分类 分为聚集索引和⾮聚集索引。...聚集索引 每个表有且⼀定会有⼀个聚集索引,整个表的数据存储在聚集索引中,mysql索引是采⽤B+树结构保存在⽂件中,叶⼦节点存储主键的值以及对应记录的数据,⾮叶⼦节点不存 储记录的数据,只存储主键的值。...当表中未指定主键时,mysql内部会⾃动给每条记录添加⼀个隐藏的rowid字段(默认4个字节)作为主键,⽤rowid构建聚集索引。 聚集索引在mysql中又叫主键索引。...mysql中⾮聚集索引分为 单列索引 即⼀个索引只包含⼀个列。 多列索引(⼜称复合索引) 即⼀个索引包含多个列。 唯⼀索引 索引列的值必须唯⼀,允许有⼀个空值。

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Mysql 数据库的介绍和分类(学习笔记一)

数据库介绍及常见数据库分类 1.1 数据库介绍 1.1.1 什么是数据库?...在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联表的表格分类、合并、连接或选取等运算来实现数据的管理。...版本升级:Oracle8i,Oracle9i,Oracle10g,Oracle11g,Oracle12c 1.3.2 MySQL数据库 MySQL数据库是一个中小型关系型数据库管理系统,软件开发者为瑞典...开发这个MariaDB数据库分支的可能原因之一是:甲骨文公司收购了MySQL之后,有将MySQL闭源的潜在风险,因此MySQL开源社区采用分支的方式来避开这个风险。...(CentOS7已经将集成的MySQL替换为了MariaDB) 开发MariaDB数据库的目的是完全兼容MySQL数据库,包括API和命令行,使之能轻松的成为MySQL的代替品。

67010

Mysql索引分类

但是Mysql是如何利用B 树进行查询的呢?索引的作用只是提高查询效率吗? Mysql中的B Tree索引 假设有一张教师表,里面有教师编号、名字、学科、薪资四个字段。...同理,当你要select的字段,已经在索引树里面存储,那就不需要再去检索数据库,直接拿来用就行了。...有同学说,id不在复合索引里,B 树没有id的信息,只能再查一次数据库了。...除了聚簇索引,mysql中的其他索引,都叫二级索引(secondary index),有时也翻译为“辅助索引”。...总结 这篇文章从一颗简单的B 树,引申出了Mysql中常见的几个索引概念: 单索引(Column Indexes):当你为一个字段建了索引时,mysql默默种了一棵树。

95310

MySQL分类

MySQL分类 每次在听别人说锁的时候,是不是会有点儿晕?(一会儿排它锁,一会儿GAP锁...)因为你站在不同的角度来说,它的名字就会不同。...行级锁:行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。Innodb存储引擎,默认选项。...隔离级别 在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。我们的数据库锁,也是为了构建这些隔离级别存在的。...如何查看一个数据库的隔离级别呢?...+ | REPEATABLE-READ | +-----------------+ 1 row in set (0.00 sec) 这是我本地的mysql数据库,也就是说默认的级别就是:REPEATABLE-READ

33120

数据库数据库分类

,EnterpriseDB(PostgreSQL),MySQL 优点:完善的生态环境保护,事务保证/数据一致性 缺点:严苛的数据模型界定,数据库拓展限制,和非结构型的结合应用较难。...非关系型数据库: 支持的数据格式: 键值(Key-Value)储存数据库; 列储存(Column-oriedted)数据库; 面向文本文档(Document-Oriented...)数据库; 图型(Graph)数据库。...非关系型数据库分类 由于非关系型数据库本身天然的多样性,以及出现的时间较短,因此非关系型数据库非常多,并且大部分都是开源的。...).面向可扩展性的分布式数据库:这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

2.2K20

MySQL 索引及其分类

MySQL 中,索引可以包含一个活多个列的值,因为 MySQL 只能高效地使用索引的最左前缀列,所以包含多个列的索引中列的顺序也十分重要。...索引的类型 MySQL 中,索引的类型有很多类型,能够为不同场景提供更好的性能。...磁盘 IO 与预读 由于磁盘读取靠的是机械运动,每次都要花费寻道时间、旋转延迟、传输时间三部分时间才能读取数据,总计时间是非常长的,如果针对数据库的动辄十万百万乃至千万级的数据查询,每次几毫秒的时间,结果将会是灾难性的...说明 上述限制存在于 MySQL 5.5 及以前的数据库版本中,未来的版本可能会取消某些限制。 然而,可以看到,创建表时怎样选取索引的列,以及他们的排列顺序是非常重要的。 4. 哈希索引 4.1....但是必须使用 MySQL 的 GIS 相关函数,如 MBRCONTAINS() 来维护数据,然而 MySQL 对 GIS 支持并不完善,所以大部分人不会使用这个特性。

72220

MySQL锁类型分类

MySQL有两个核心的知识点,索引和锁。前几篇文章已经详细讲解了MySQL索引实现机制,今天再一起学习一下MySQL的锁。 1 为什么要加锁?...2 锁的分类有哪些?...按锁的粒度可分为:表锁、页面锁、行锁、记录锁、间隙锁、临键锁 按锁的属性可分为:共享锁、排它锁 按加锁机制可分为:乐观锁、悲观锁 下面依次介绍一下这几种锁: 3 按锁的粒度分类 表锁 MyISAM和InnoDB...# 对id大于1并且小于等于10的用户加锁 update user set age=age+1 where id>1 and id<=10; 按锁的属性分类 共享锁(又称读锁、S锁) 作用:防止其他事务修改当前数据...# 对id=1的用户加写锁 select * from user where id=1 for update; 按加锁机制分类 乐观锁 总是假设别人不会修改当前数据,所以每次读取数据的时候都不会加锁,

21540

数据库分类

1.2 数据库的种类 早期比较流行的数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。...而在当今的互联网中,最常用的数据库模型主要是两种,即关系型数据库和非关系型数据库。...1.3 关系型数据库介绍 (1)关系型数据库由来 网络数据库和层次数据库很好地解决了数据的集中和共享问题,但是在数据独立性和抽象 级别上仍有很大欠缺。...而关系数据库就可以较好地解决这些问 (2)关系型数据库介绍 关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。...1.4分布式数据库与面向对象数据库 分布式数据库数据库技术与网络技术相互结合的产物,他的重要特性就是数据分布的透明性 ,分布式数据库系统是一个统一的整体,用户不需要关心数据的逻辑分布,更不必关心数

1.2K20

NoSQL数据库分类

# NoSQL数据库分类 键值数据库 列族数据库 文档型数据库 图形数据库 详细信息 (opens new window) 分类 举例 典型应用场景 数据模型 优点 缺点 键值数据库 Redis,Voldemort...# 键值数据库 键值数据库( Key-Value Database)会使用一个哈希表,这个表中有一个特定的key和一个指针指向特定的value。...列族数据库 列族数据库采用的是列族数据模型,由多个行构成,每行数据包含多个列族,不同行可以有不同数量的列族。...(HBase) # 文档型数据库 数据模型是结构化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。...优点 性能好、灵活性高、复杂性低、数据结构灵活 缺点 缺乏统一的查询语法 使用者 百度云数据库(MongoDB),SAP(MongoDB) # 图形数据库 图型数据库以图论为基础,一个图是一个数学概念

1.7K20

MySQL学习笔记:SQL分类

SQL(Structured Query Language)是一种用于管理和操作关系型数据库的强大语言。它涵盖了多个方面,包括数据查询、定义和修改数据库结构、操纵数据以及事务处理。...在本文中,我们将深入探讨 SQL 的分类及其各自的作用。 1. DDL在SQL(结构化查询语言)中,DDL(数据定义语言)是一组用于定义或修改数据库结构的语句。...1.1 CREATECREATE语句用于创建数据库对象,如数据库、表、索引、视图等: CREATE DATABASE:用于创建新的数据库CREATE DATABASE database_name;CREATE...SELECT语句用于从数据库中提取数据,可以根据指定的条件、排序和分组方式进行筛选。通过DQL,我们可以方便地从数据库中获取所需的信息,为分析和决策提供支持。...通过使用TCL,可以确保数据库中的操作是原子性、一致性、隔离性和持久性(ACID 特性)。5.1 开始事务事务是数据库中一系列操作的逻辑单元,要么全部执行,要么全部回滚。

21110

mysql】内置函数及分类

使用这些函数,可以极大地提高用户对数据库的管理效率。 [在这里插入图片描述] 从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在 SQL 语言中,同样也包括了内置函数和自定义函数。...1.2 不同DBMS函数的差异 在使用 SQL 语言的时候,不是直接和这门语言打交道,而是通过它使用不同的数据库软件,即 DBMS。DBMS 之间的差异性很大,远大于同一个语言不同版本之间的差异。...比如,大多数 DBMS 使用(||)或者(+)来做拼接符,而在 MySQL 中的字符串拼接函数为concat()。...1.3 MySQL的内置函数及分类 MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。...MySQL提供的内置函数从实现的功能角度可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL信息函数、聚合函数等。

65230

mysql】多表查询的分类

多表查询分类 分类1:等值连接 vs 非等值连接 1....阿里开发规范: 【强制】对于数据库中表记录的查询和变更,只要涉及多个表,都需要在列名前加表的别名(或 表名)进行限定。...table_second as t2 where t1.id=t2.id; 反例:在某业务中,由于多表关联查询语句没有加表的别名(或表名)的限制,正常运行两年后,最近在 某个表中增加一个同名字段,在预发布环境做数据库变更后...`employee_id`; [在这里插入图片描述] 分类3:内连接 vs 外连接 除了查询满足条件的记录以外,外连接还可以查询某一方不满足条件的记录。...外连接的分类:左外连接、右外连接、满外连接 左外连接:两个表在连接过程中除了返回满足连接条件的行以外还返回左表中不满足条件的行,这种连接称为左外连接。

2.3K40

MySQL高手练成之路-索引分类

MySQL索引优缺点 索引优点: 提高数据检索的效率,降低数据库的IO成本。...MySQL索引分类 聚簇索引和非聚簇索引 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。术语‘聚簇’表示数据行和相邻的键值聚簇的存储 在一起。...聚簇索引的限制:对于mysql 数据库目前只有 innodb 数据引擎支持聚簇索引,而 Myisam 并不支持聚簇索引。...索引的创建原则 在MySQL数据库中使用索引,虽然能够提高数据的查询性能,但是创建的索引并不是越多越好,而需要遵循一定的设计原则。...MySQL中,支持在一张数据表中创建多个单列索引。 创建复合索引 即一个索引包含多个列,MySQL中,同样支持在一张数据表中创建多个组合索引。在使用组合索引查询数据时,MySQL支持最左匹配原则。

44021

这样总结MySQL索引分类才好

文章简介 本文将大致介绍索引的类型、InnoDB的索引分类、如何创建索引、使用索引的注意事项等几个方面记录索引。...问题引入 详细很多程序员在面试的时候,都会被问到这样一个问题“MySQL中的索引都有哪些”?...索引分类 索引从数据结构上主要分为下面四种索引类型。其中B+Tree索引使用情况也是最多的。后面文章重点也是总结该索引类型。...索引分类 从 B+Tree数据结构分类,InnoDB中的索引类型分为聚集索引和非聚集索引。聚集索引包含了主键索引,而非聚集索引包含了唯一索引、联合索引、前缀索引、复合索引、普通索引。...查看索引 show语法 mysql root@127.0.0.1:demo> show index from `user`\G; 2 rows in set Time: 0.003s ********

46360
领券