Mysql中key 、primary key 、unique key 与index区别

2023-11-08

索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行。

表越大,花费时间越多。如果表对于查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要考虑所有数据。

如果一个表有1000行,这比顺序读取至少快100倍。注意你需要存取几乎所有1000行,它较快的顺序读取,因为此时我们避免磁盘寻道。 

所有的MySQL索引(PRIMARY、UNIQUE和INDEX)在B树中存储。字符串是自动地压缩前缀和结尾空间。

索引用于: 

快速找出匹配一个WHERE子句的行; 
当执行联结时,从其他表检索行; 
对特定的索引列找出MAX()或MIN()值; 
如果排序或分组在一个可用键的最左面前缀上进行(例如,ORDER BY key_part_1,key_part_2),排序或分组一个表。

如果所有键值部分跟随DESC,键以倒序被读取。 
在一些情况中,一个查询能被优化来检索值,不用咨询数据文件。

如果对某些表的所有使用的列是数字型的并且构成某些键的最左面前缀,为了更快,值可以从索引树被检索出来。 

—————————————————————————————————————————————————————————————————————————————

下面是建表的语句:

CREATE TABLE `phpcolor_ad` (  
`id` mediumint(8) NOT NULL AUTO_INCREMENT,  
`name` varchar(30) NOT NULL,  
`type` mediumint(1) NOT NULL,  
`code` text,  
PRIMARY KEY (`id`),  
KEY `type` (`type`)  
);  

 

最后一句的KEY `type` (`type`)是什么意思?

如果只是key的话,就是普通索引

         mysql的key和index多少有点令人迷惑,单独的key和其它关键词结合的key(primary key)实际表示的意义是不同,这实际上考察对数据库体系结构的了解的。
1 :

key 是数据库的物理结构,它包含两层意义和作用,

一是约束(偏重于约束和规范数据库的结构完整性),

二是索引(辅助查询用的)。

包括primary key, unique key, foreign key 等。

primary key 有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性,但同时也在此key上建立了一个主键索引;    

                          PRIMARY KEY 约束:唯一标识数据库表中的每条记录;

                                                                 主键必须包含唯一的值;

                                                                 主键列不能包含 NULL 值;

                                                                 每个表都应该有一个主键,并且每个表只能有一个主键。(PRIMARY KEY 拥有自动定义的 UNIQUE 约束)

unique key 也有两个作用,一是约束作用(constraint),规范数据的唯一性,但同时也在这个key上建立了一个唯一索引;

UNIQUE 约束:唯一标识数据库表中的每条记录。
                                                    UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
                                                    (每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束)

foreign key 也有两个作用,一是约束作用(constraint),规范数据的引用完整性,但同时也在这个key上建立了一个index;

 

可见,mysql的key是同时具有constraint和index的意义,这点和其他数据库表现的可能有区别。

(至少在Oracle上建立外键,不会自动建立index),因此创建key也有如下几种方式:
(1)在字段级key方式建立, 如 create table t (id int not null primary key);
(2)在表级constraint方式建立,如create table t(id int, CONSTRAINT pk_t_id PRIMARY key (id));
(3)在表级key方式建立,如create table t(id int, primary key (id));

其它key创建类似,但不管那种方式,既建立了constraint,又建立了index,只不过index使用的就是这个constraint或key。

 

2: index是数据库的物理结构,它只是辅助查询的,它创建时会在另外的表空间(mysql中的innodb表空间)以一个类似目录的结构存储。索引要分类的话,分为前缀索引、全文本索引等;
        因此,索引只是索引,它不会去约束索引的字段的行为(那是key要做的事情)。如,create table t(id int,index inx_tx_id (id));


3 总结,最后的释疑:
(1)我们说索引分类,分为

主键索引(必须指定为“PRIMARY KEY”,没有PRIMARY Index)、

唯一索引(unique index,一般写成unique key)、

普通索引(index,只有这一种才是纯粹的index)等,也是基于是不是把index看作了key
           比如 create table t(id int, unique indexinx_tx_id (id));--index当作了key使用

(2)最重要的也就是,不管如何描述,需要理解index是纯粹的index(普通的key,或者普通索引index),还是被当作key(如:unique index、unique key和primary key),若当作key时则会有两种意义或起两种作用。

—————————————————————————————————————————————————————————————————————————————

MySQL Key值(PRI, UNI, MUL)的含义:

PRI主键约束;

UNI唯一约束;

MUL可以重复。

注:若是普通的key或者普通的index(实际上,普通的key与普通的index同义)。

 

当我们在desc 表名; 的时候,有一个Key值,表示该列是否含有索引
假设表结构如下所示
mysql> desc aa;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
| xx    | int(11) | YES  | PRI | NULL    |       |
+-------+---------+------+-----+---------+-------+
| yy    | int(11) | YES  | UNI | NULL    |       |
+-------+---------+------+-----+---------+-------+
| zz    | int(11) | YES  | MUL | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)

我们看到Key那一栏,可能会有4种值,即'啥也没有','PRI','UNI','MUL'
1. 如果Key是空的, 那么该列值的可以重复,表示该列没有索引, 或者是一个非唯一的复合索引的前导列
2. 如果Key是PRI,  那么该列是主键的组成部分
3. 如果Key是UNI,  那么该列是一个唯一值索引的第一列(前导列),且不能含有空值(NULL)
4. 如果Key是MUL,  那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL

注:
1、如果对于一个列的定义,同时满足上述4种情况的多种,比如一个列既是PRI,又是UNI(如果是PRI,则一定是UNI)
那么"desc 表名"; 的时候,显示的Key值按照优先级来显示 PRI->UNI->MUL
那么此时,显示PRI。

2、如果某列不能含有空值,同时该表没有主键,则一个唯一性索引列可以显示为PRI,

3、如果多列构成了一个唯一性复合索引,那么一个唯一性索引列可以显示为MUL。(因为虽然索引的多列组合是唯一的,比如ID+NAME是唯一的,但是每一个单独的列依然可以有重复的值,因为只要ID+NAME是唯一的即可)

 

 

一、key与primary key区别 

CREATE TABLE wh_logrecord (   
logrecord_id int(11) NOT NULL auto_increment,   
user_name varchar(100) default NULL,   
operation_time datetime default NULL,   
logrecord_operation varchar(100) default NULL,   
PRIMARY KEY (logrecord_id),   
KEY wh_logrecord_user_name (user_name)   
);

解析: 
KEY wh_logrecord_user_name (user_name) 
本表的user_name字段与wh_logrecord_user_name表user_name字段建立外键 
括号外是建立外键的对应表,括号内是对应字段 
类似还有 KEY user(userid) 
当然,key未必都是外键 

总结: 
Key是索引约束,对表中字段进行约束索引的,都是通过primary foreign unique等创建的。常见有foreign key,外键关联用的。 

KEY forum (status,type,displayorder)  # 是多列索引(键) 
KEY tid (tid)                         # 是单列索引(键)。 

如建表时: KEY forum (status,type,displayorder) 
select * from table group by status,type,displayorder 是否就自动用上了此索引, 
而当 select * from table group by status 此索引有用吗? 

key的用途:主要是用来加快查询速度的。 

CREATE TABLE `admin_role` (  
  `adminSet_id` varchar(32) NOT NULL,  
  `roleSet_id` varchar(32) NOT NULL,  
  PRIMARY KEY (`adminSet_id`,`roleSet_id`),  
  KEY `FK9FC63FA6DAED032` (`adminSet_id`),  
  KEY `FK9FC63FA6C7B24C48` (`roleSet_id`)  
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

 

主键,两个列组合在一起,是唯一的,内建唯一性索引,并且不能为NULL
另外,两个Key定义,相当于分别对这两列建立索引。

innodb
primary key   主键聚集索引
key 普通索引

 

二、KEY与INDEX区别 

KEY通常是INDEX同义词。如果关键字属性PRIMARY KEY在列定义中已给定,则PRIMARY KEY也可以只指定为KEY。

这么做的目的是与其它数据库系统兼容。

PRIMARY KEY是一个唯一KEY,此时,所有的关键字列必须定义为NOT NULL。

如果这些列没有被明确地定义为NOT NULL,MySQL应隐含地定义这些列。一个表只有一个PRIMARY KEY。 


MySQL 中Index 与Key 的区别 

Key即键值,是关系模型理论中的一部份,比如有主键(Primary Key),外键(Foreign Key)等,用于数据完整性检否与唯一性约束等。

而Index则处于实现层面,比如可以对表的任意列建立索引,那么当建立索引的列处于SQL语句中的Where条件中时,就可以得到快速的数据定位,从而快速检索。

至于Unique Index,则只是属于Index中的一种而已,建立了Unique Index表示此列数据不可重复,猜想MySQL对Unique Index类型的索引可以做进一步特殊优化吧。 


于是乎,在设计表的时候,Key只是要处于模型层面的,而当需要进行查询优化,则对相关列建立索引即可。 

另外,在MySQL中,对于一个Primary Key的列,MySQL已经自动对其建立了Unique Index,无需重复再在上面建立索引了。 

搜索到的一段解释: 

    Note that “primary” is called PRIMARY KEY not INDEX. 
    KEY is something on the logical level, describes your table and database design (i.e. enforces referential integrity …) 
    INDEX is something on the physical level, helps improve access time for table operations. 
    Behind every PK there is (usually) unique index created (automatically). 

三、mysql中UNIQUE KEY和PRIMARY KEY有什么区别 

1,Primary key的1个或多个列必须为NOT NULL,如果列为NULL,在增加PRIMARY KEY时,列自动更改为NOT NULL。

而UNIQUE KEY 对列没有此要求 

2,一个表只能有一个PRIMARY KEY,但可以有多个UNIQUE KEY 

3,主键和唯一键约束是通过参考索引实施的,如果插入的值均为NULL,

则根据索引的原理,全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的,而其他的则不能插入重复值。 

alter table t add constraint uk_t_1 unique (a,b); 
insert into t (a ,b ) values (null,1);    # 不能重复 
insert into t (a ,b ) values (null,null);#可以重复 

四、使用UNIQUE KEY 

CREATE TABLE `secure_vulnerability_warning` (   
  `id` int(10) NOT NULL auto_increment,   
  `date` date NOT NULL,   
  `type` varchar(100) NOT NULL,   
  `sub_type` varchar(100) NOT NULL,   
  `domain_name` varchar(128) NOT NULL,   
  `url` text NOT NULL,   
  `parameters` text NOT NULL,   
  `hash` varchar(100) NOT NULL,   
  `deal` int(1) NOT NULL,   
  `deal_date` date default NULL,   
  `remark` text,   
  `last_push_time` datetime default NULL,   
  `push_times` int(11) default '1',   
  `first_set_ok_time` datetime default NULL,   
  `last_set_ok_time` datetime default NULL,   
  PRIMARY KEY  (`id`),   
  UNIQUE KEY `date` (`date`,`hash`)   
) ENGINE=InnoDB  DEFAULT CHARSET=utf8; 

UNIQUE KEY的用途:主要是用来防止数据插入的时候重复的。 

1,创建表时 

CREATE TABLE Persons   
(   
Id_P int NOT NULL,   
LastName varchar(255) NOT NULL,   
FirstName varchar(255),   
Address varchar(255),   
City varchar(255),   
UNIQUE (Id_P)   
);

 

如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法: 

CREATE TABLE Persons   
(   
Id_P int NOT NULL,   
LastName varchar(255) NOT NULL,   
FirstName varchar(255),   
Address varchar(255),   
City varchar(255),   
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)   
);

 

2,当表已被创建时,如需在 "Id_P" 列创建 UNIQUE 约束,请使用下列 SQL: 

ALTER TABLE Persons   
ADD UNIQUE (Id_P);
 

 

如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法: 

ALTER TABLE Persons   
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName);  

 

3,撤销 UNIQUE 约束 

如需撤销 UNIQUE 约束,请使用下面的 SQL: 

ALTER TABLE Persons   
DROP INDEX uc_PersonID;  

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql中key 、primary key 、unique key 与index区别 的相关文章

  • mysql+关掉密码过期

    mysql 关掉密码过期 要在MySQL中关闭密码过期功能 可以按照以下步骤进行操作 登录到MySQL服务器 使用管理员账户 如root 连接到数据库 mysql uroot ppassword 运行以下命令来查看当前的密码过期设置 SHO
  • 【计算机开题报告】 网上茶叶销售平台设计与开发

    一 选题依据 简述国内外研究现状 生产需求状况 说明选题目的 意义 列出主要参考文献 1 研究背景 随着社会经济的迅速发展和科学技术的全面进步 以计算机与网络技术为基础的信息系统正处于蓬勃发展的时期 随着经济文化水平的提高 近年来 随着科学
  • 【计算机开题报告】家具销售库存管理信息系统

    一 选题的目的 意义及相关研究动态和自己的见解 随着当今社会信息化的发展 电子自动化办公越来越为各人所重视 它能有效地收集 处理各种信息 极大地提高了办事效率 而计算机技术各种软件工作平台不断的发展 又为电子自动化办公的实现提供了良好的前景
  • Kali Linux 安全渗透核心总结,444页核心知识点

    就像IT人离不开Linux系统一样 网安人也离不开Kali Linux 作为攻击性防御和渗透测试的代名词 越来越多的人开始学习Kali 如果你也对kali感兴趣 又想深入了解这方面内容 不妨收藏一下这份Kali Linux安全渗透教程 共4
  • 神州信息一表通监管合规系统

    什么是 一表通 国家金融监督管理总局为进一步建立健全数据统计监管体系 规范数据报送指标体系 明确检测数据规则 而推行建立的一套新体系监管报送方式 提升校验准确性和信息安全性 近期 国家金融监督管理总局更是进一步加大推动 一表通 的实行试点范
  • 成为一个黑客,就按照这个路线来!

    前几天一个同学在聊天中提到毕业后想要从事网络安全方向的工作 虽然他本身也是学计算机的 但是又怕心有余而力不足 因为 从事网络安全方面的工作向来起点都比较高 大学里少有开设这类课程的 在学校能够学到的知识比较有限 网上的关于这方面课程的质量又
  • 软件开发和网络安全哪个更好找工作?

    为什么今年应届毕业生找工作这么难 有时间去看看张雪峰今年为什么这么火就明白了 这么多年人才供给和需求错配的问题 在经济下行的今年 集中爆发 供给端 大学生越来越多 需求端 低端工作大家不愿去 高端岗位又太少 很多基础行业 比如机械 土木 所
  • 亚信安慧AntDB引领数字化转型:浙江移动成功实现CRM系统全域改造

    数字时代 通信运营商在不断迭代的背景下 需要不断探索数字化转型的路径 以适应快速发展的市场和技术环境 在这一浪潮中 浙江移动站在前沿 率先完成了其CRM系统的全域改造 采用了亚信安慧公司研发的AntDB数据库 为整个行业树立了数字化转型的标
  • 【计算机毕业设计】基于web的山东红色旅游信息管理系统

    有效的处理想要的相关信息和如何传播有效的信息 一直是人类不断探索的动力 人类文明火种的传承都是通过了多种媒介作为载体 也是随着社会生产力的发展不断的更新 随着互联网的到来 信息传播与管理都上升了一个新的台阶 并且方便应用的同时也要考虑信息传
  • 【计算机毕业设计】北关村基本办公管理系统

    在如今社会上 关于信息上面的处理 没有任何一个企业或者个人会忽视 如何让信息急速传递 并且归档储存查询 采用之前的纸张记录模式已经不符合当前使用要求了 所以 对北关村基本办公信息管理的提升 也为了对北关村基本办公信息进行更好的维护 北关村基
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 软件测试|SQLAlchemy环境安装与基础使用

    简介 SQLAlchemy 是一个强大的 Python 库 用于与关系型数据库进行交互 它提供了高度抽象的对象关系映射 ORM 工具 允许使用 Python 对象来操作数据库 而不必编写原生SQL查询 本文将介绍如何安装 SQLAlchem
  • 【计算机毕业设计】微信小程序反诈科普平台

    相比于以前的传统手工管理方式 智能化的管理方式可以大幅降低反诈科普平台的运营人员成本 实现了反诈科普平台的标准化 制度化 程序化的管理 有效地防止了反诈科普平台的随意管理 提高了信息的处理速度和精确度 能够及时 准确地查询和修正反诈科普 一
  • 【ES6】解构语句中的冒号(:)

    在解构赋值语法中 冒号 的作用是为提取的字段指定一个新的变量名 让我们以示例 const billCode code version route query 来说明 billCode code version 表示从 route query
  • 【计算机毕业设计】OA公文发文管理系统_xtv98

    近年来 人们的生活方式以网络为主题不断进化 OA公文发文管理就是其中的一部分 现在 无论是大型的还是小型的网站 都随处可见 不知不觉中已经成为我们生活中不可或缺的存在 随着社会的发展 除了对系统的需求外 我们还要促进经济发展 提高工作效率
  • 面试官问,如何在十亿级别用户中检查用户名是否存在?

    面试官问 如何在十亿级别用户中检查用户名是否存在 前言 不知道大家有没有留意过 在使用一些app注册的时候 提示你用户名已经被占用了 需要更换一个 这是如何实现的呢 你可能想这不是很简单吗 去数据库里查一下有没有不就行了吗 那么假如用户数量
  • 数据库 | 面试官:一次到底插入多少条数据合适啊?.....面试连环炮

    数据库 面试官 一次到底插入多少条数据合适啊 面试连环炮 数据库插入操作的基础知识 插入数据是数据库操作中的基础 但是 我们程序员将面临随之而来的问题 如何快速有效地插入数据 并保持数据库 性能 当你向数据库中插入数据时 这些数据直接存储到
  • MongoDB - 库、集合、文档(操作 + 演示 + 注意事项)

    目录 一 MongoDB 1 1 简介 a MongoDB 是什么 为什么要使用 MongoDB b 应用场景 c MongoDB 这么强大 是不是可以直接代替 MySQL d MongoDB 中的一些概念 e Docker 下载 1 2
  • Python 使用 NoSQL 数据库的优选方案

    NoSQL 数据库因其高性能 可扩展性和灵活性而风靡一时 然而 对于 Python 程序员而言 选择合适的 NoSQL 数据库可能会令人困惑 因为有多种选择可供选择 那么 哪种 NoSQL 数据库最适合 Python 呢 2 解决方案 根据

随机推荐

  • 【css】动画:立方体相册

  • 热词科普--关于前后端分离的易懂解析

    目录 一 什么是前后端分离 二 为什么要前后端分离 未分离时期 工作方式 半分离时期 三 前后端分离的优点 四 前后端分离的缺点 五 什么场景下可以考虑前后端分离 六 基于Vue Springboot的前后端分离 Spring Boot 简
  • 小程序上传图片报uploadFile:fail parameter error: parameter.filePat…parameter.name should be String instead o

    小程序上传图片报uploadFile fail parameter error parameter filePat parameter name should be String instead of Array 阐述 原因是上传的name
  • nodejs + pkg+ puppeteer 路径问题以及 Passed function is not well-serializable 问题

    最近在使用 puppeteer 写自动化程序 发现几个问题在这里吧解决方案分享给大家 pkg 打包后的路径问题 具体路径详情看 https blog csdn net u012211003 article details 112872859
  • jQuery Dialog 弹出层对话框插件演示

    原文地址 http blog csdn net fer ba article details 7067352 dialog jquery function iframe class filter 目录 基本操作 默认的 html view
  • 【Java比较学习】重写equals方法的安全写法

    重写equals方法的正确打开方式 正文开始 Assassin 目录 重写equals方法的正确打开方式 1 什么是equals方法 1 1 equals方法 2 为什么要重写equals方法 2 1 举个例子吧 3 分析equals源码
  • linux运维ansible入门

    bilibili视频地址 ansible入门 介绍 无主无从 开箱即用 用完就走 只要能用ssh即可使用ansible 总结 分成两部分 主机 ansible 模块 主机清单 ssh playbook 完成复杂部署 使用yum安装 ansi
  • Vite和webpack区别

    Vite 和 Webpack 都是前端构建工具 Vite 是一个基于 ES modules 的构建工具 而 Webpack 则是一个 Web 应用程序的静态模块打包器 以下是 Vite 和 Webpack 之间的一些区别 构建方式 Vite
  • 微信小程序:wx.getUserInfo()获取用户信息报错

    在使用wx getUserInfo 来获取用户相关信息报错失败 为优化用户体验 使用 wx getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持 从2018年4月30日开始 小程序与小游戏的体验版 开发版调用 wx getUs
  • 微服务架构的核心要点和实现原理

    摘要 本文中 我们将进一步理解微服务架构的核心要点和实现原理 为读者的实践提供微服务的设计模式 以期让微服务在读者正在工作的项目中起到积极的作用 微服务架构中职能团队的划分 传统单体架构将系统分成具有不同职责的层次 对应的项目管理也倾向于将
  • 2023备战金三银四,Python自动化软件测试面试宝典合集(六)

    马上就又到了程序员们躁动不安 蠢蠢欲动的季节 这不 金三银四已然到了家门口 元宵节一过后台就有不少人问我 现在外边大厂面试都问啥 想去大厂又怕面试挂 面试应该怎么准备 测试开发前景如何 面试 一个程序员成长之路永恒绕不过的话题 每每到这个时
  • 最小树形图的环收缩

    气死我了 最近学习关于最小树形图的问题 无论是CSDN还是博客园 真就是天下文章一大抄 图都用一模一样的 又复杂又高糊 我只是想搞懂存在环 这个环是怎么收缩的 结果给我看了屎一样图和文字表达 一气之下 写一个短文好还描述一下环是怎么收缩成点
  • AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘v

    分析 在Python中 NoneType是一个类型 如同int float一样 如 gt gt gt a None gt gt gt type a
  • vi如何使用

    个人发现好多企业内部运维工程师 很少有人懂得VI的使用技巧 通常都是一顿按 上下左右键 搞得我好郁闷 我本人整理了一份VI的使用技巧分享下 希望大家正确 高效 去工作 Vi 1 Vi 10 进入Vi 以第10行为行首 2 Vi 空格 最后一
  • 以太坊学习笔记:私有链搭建操作指南

    原文链接 https my oschina net u 2349981 blog 865256 讲解的内容非常详细 熟悉搭建以太坊私有链的相关操作 学习了 摘要 详解以太坊私有链搭建过程以及一些常用的操作 虽然以太坊是一个公有链系统 但是我
  • 学算法,先从二分查找开始吧

    总纲 思路很简单 细节是魔鬼 分为三个常用场景 寻找一个数 寻找左侧边界 寻找右侧边界 最后给出力扣上的题目例子 还可以在GitHub上观看哦 AlgorithmNotes 基础框架 int binarySearch int nums in
  • MySQL系列11——索引效率测试

    MySQL索引效率测试 一 以mysql添加索引和不添加索引为例 测试数据的插入速度和查询速度 1 首先创建数据表和数据库 在cmd命令行中执行 create database TestDataSpeed charset utf8 use
  • onnxruntime安装与使用(附实践中发现的一些问题)

    关于onnxruntime的一些基本参考链接 onnxruntime官方文档 将pytorch模型转换为onnx模型并用onnxruntime进行推理 Pytorch官方文档 一 onnxruntime安装 1 使用CPU 如果只用CPU进
  • ice服务器回归系统,便携式的ICE中继服务器及其方法

    主权项 1 一种便携式的ICE中继服务器 该ICE中继服务器是分别与一网络终 端装置及一NAT路由器相连接 其特征在于 至少包括 一储存单元 用以储存依据ICE协议标准所提供的多个候选接入点 一第一输出入端口 与该网络终端装置相连接 用以接
  • Mysql中key 、primary key 、unique key 与index区别

    索引被用来快速找出在一个列上用一特定值的行 没有索引 MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行 表越大 花费时间越多 如果表对于查询的列有一个索引 MySQL能快速到达一个位置去搜寻到数据文件的中间 没有必要考