返回顶部
首页 > 资讯 > 数据库 >key的作用
  • 625
分享到

key的作用

2024-04-02 19:04:59 625人浏览 独家记忆
摘要

not null 与 default create table t1( id int primary key auto_increment, 设置了主键 id,如果通过id查找就会大量减

not null 与 default

create table t1(
        id int primary key auto_increment,   设置了主键 id,如果通过id查找就会大量减少io时间
        name varchar(16) not null,  不能为空
        sex enum('male','female') not null default 'male' 不能为空且默认值为male
);
insert into t1(name) values('eGon'),('lxx'),('alex');

unique key:不能重复

key的作用

primary key: 不能重复且不能为空,还有键的功能

站在约束角度看primary key=not null unique
以后但凡建表,必须注意:
1、必须有且只有一个主键
2、通常是id字段被设置为主键
create table t5(
id int primary key auto_increment
);

存储引擎

key的作用

foreign key: 限制关联表某一个字段的值必须是来自于被关联表的一个字段

1、被关联的字段必须是一个key,通常是id字段
2、创建表时:必须先建立被关联的表,才能建立关联表

1 被关联的字段必须是一个key,通常是id字段

2 创建表时: 必须先建立被关联的表,才能建立关联表

3 插入记录时: 必须先往被关联的表插入记录,才能往关联表中插入记录

key的作用
key的作用

找两张表的关系的窍门

key的作用
key的作用

一对一:无需参考窍门,左表的一条数据唯一对应右表的一条记录

关于Mysql索引为什么使用的B+树而不是B树?

(1)B+树更适合外部存储(一般指磁盘存储),由于内节点(非叶子节点)不存储data,所以一个节点可以存储更多的内节点,每个节点能索引的范围更大更精确。也就是说使用B+树单次磁盘IO的信息量相比较B树更大,IO效率更高。
(2)mysql是关系型数据库,经常会按照区间来访问某个索引列,B+树的叶子节点间按顺序建立了链指针,加强了区间访问性,所以B+树对索引列上的区间范围查询很友好。而B树每个节点的key和data在一起,无法进行区间查找。

B+树与B树的不同在于:
(1)所有关键字存储在叶子节点,非叶子节点不存储真正的data
(2)为所有叶子节点增加了一个链指针

局部性原理与磁盘预读
为了提升效率,要尽量减少磁盘IO的次数。实际过程中,磁盘并不是每次严格按需读取,而是每次都会预读。磁盘读取完需要的数据后,会按顺序再多读一部分数据到内存中,这样做的理论依据是计算机科学中注明的局部性原理:

当一个数据被用到时,其附近的数据也通常会马上被使用
程序运行期间所需要的数据通常比较集中

(1)由于磁盘顺序读取的效率很高(不需要寻道时间,只需很少的旋转时间),
因此对于具有局部性的程序来说,预读可以提高I/O效率.预读的长度一般为页(page)的整倍数。
(2)Mysql(默认使用InnoDB引擎),将记录按照页的方式进行管理,每页大小默认为16K(这个值可以修改)。linux 默认页大小为4K。

系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位的,位于同一个磁盘块中的数据会被一次性读取出来,而不是需要什么取什么。

InnoDB存储引擎中有页(Page)的概念,页是其磁盘管理的最小单位。InnoDB存储引擎中默认每个页的大小为16KB,可通过参数innodb_page_size将页的大小设置为4K、8K、16K,在MySQL中可通过如下命令查看页的大小:

mysql> show variables like 'innodb_page_size';

您可能感兴趣的文档:

--结束END--

本文标题: key的作用

本文链接: https://lsjlt.com/news/38335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • key的作用
    not null 与 default create table t1( id int primary key auto_increment, 设置了主键 id,如果通过id查找就会大量减...
    99+
    2024-04-02
  • mysql中primary key的作用
    mysql 中 primary key(主键)是唯一标识表中每一行的列或列组合。主要作用包括:1. 唯一性约束:确保每行拥有唯一值;2. 优化查询性能:作为索引,提高查询和排序速度;3....
    99+
    2024-04-26
    mysql
  • 详解React中key的作用
    目录问题: 点击按钮的时候,span的颜色会变成红色吗?分析上述问题:第二种情况:key的取值为索引值第三种情况:key的取值确定且唯一:如果想要达到预期效果,我们要设置唯一且确定的...
    99+
    2024-04-02
  • react中key的作用是什么
    本文小编为大家详细介绍“react中key的作用是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“react中key的作用是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2024-04-02
  • vue中key的作用是什么
    这篇文章将为大家详细讲解有关vue中key的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。为什么要使用VueVue是一款友好的、多用途且高性能的JavaScript框架,使用vue...
    99+
    2023-06-14
  • React中key的作用有哪些
    这篇文章将为大家详细讲解有关React中key的作用有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。要了解React中key的作用,可以从key的取值入手,key的取值可以分为三种,不定值、索引值、确...
    99+
    2023-06-14
  • Redis之通用的key操作命令
    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Redis的启动和关闭(前台启动和...
    99+
    2018-10-30
    Redis之通用的key操作命令
  • Vuejs中key值的作用是什么
    这篇文章给大家介绍Vuejs中key值的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。key 的一个错误使用——使用 index 作为 key不知道你在写 v-for 的时候,会不会直接使用 index 作为...
    99+
    2023-06-15
  • 浅谈Vue3中key的作用和工作原理
    这个key属性有什么作用呢?我们先来看一下官方的解释: kekey属性主要用在Vue的虚拟DOM diff算法中,在新旧nodes对比时辨识Vnodes; 如果不使...
    99+
    2024-04-02
  • Vue3中key的作用和工作原理是什么
    这篇文章主要介绍“Vue3中key的作用和工作原理是什么”,在日常操作中,相信很多人在Vue3中key的作用和工作原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中key的作用和工作原理是什么...
    99+
    2023-06-20
  • Vue中key的作用及原理详解
    目录1. 先说结论2. key的作用2.1 举一个例子2.2 修改一下上述示例2.3 再修改一下示例3. key的实现原理1. key为index的情况。2. key为id的情况。总...
    99+
    2024-04-02
  • SQL FOREIGN KEY约束的作用是什么
    SQL FOREIGN KEY约束用于确保关系数据库中的数据完整性。它定义了表之间的关系,并防止在相关表之间产生不一致的数据。FOR...
    99+
    2023-10-12
    SQL
  • redis中key键操作
    keys */查看所有的key remoteSelf:1>select 0 "OK" remoteSelf:0>keys * 1) "SUBCRIBEMAP" 2) "test" exists key名字/判断某个key是...
    99+
    2018-11-02
    redis中key键操作
  • redis对于key的操作命令
    Redis对于key的操作命令 del key1 key2 ... Keyn 作用: 删除1个或多个键返回值: 不存在的key忽略掉,返回真正删除的key的数量 rename key newkey ...
    99+
    2024-04-02
  • Vue开发实例探究key的作用详解
    目录前言为什么不推荐使用 index 作为 key?如果 key 重复会导致什么样的错误?使用 key 和不使用 key 有什么差别?key的实际应用上述结论在Vue3中也成立吗?总...
    99+
    2023-01-10
    Vue key作用 Vue key
  • Cassandra中的Partition Key和Clustering Column有什么作用
    在Cassandra中,Partition Key和Clustering Column对于数据的存储和查询非常重要。 Parti...
    99+
    2024-04-02
  • Vue 列表渲染 key的原理和作用详解
    目录列表渲染 key 的原理和作用key的原理分析key的作用总结列表渲染 key 的原理和作用 key就是为该节点做身份标识,如果对key绑定index的值,那么很容易出现问题: ...
    99+
    2024-04-02
  • Vue深入理解之v-for中key的真正作用
    目录前言第一种: key 采用 index第二种:key 采用唯一 ID总结前言 大家应该都知道, v-for 中 key 最常用的绑定方式有两种: 第一种用 index第二种用 唯...
    99+
    2024-04-02
  • python 字典操作提取key,val
    python 字典操作提取key,value dictionaryName[key] = value 欢迎加入Python快速进阶QQ群:867300100 1.为字典增加一项 2.访问字典中的值 3、删除字典中的一项 4、...
    99+
    2023-01-31
    字典 操作 python
  • react为什么不推荐使用index作为key
    1.旧的虚拟dom和新的虚拟dom对比,首先看他们的key是否相同 2.相同继续对比他们的内容,不同生成新的真实dom进行替换 3.如果内容和key都相同,复用旧的真实dom 不做改...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作