目录 1、标准数据帧 2、扩展数据帧 3、标准数据帧和扩展数据帧的特性 ---- CAN协议可以接收和发送11位标准数据帧和29位扩展数据帧,CAN标准数据帧和扩展数据帧只是帧ID长度不同,以便可以扩展更多...1、标准数据帧 标准数据帧基于早期的CAN规格(1.0和2.0A版),使用了11位的识别域。 CAN标准帧帧信息是11字节,包括帧描述符和帧数据两部分。如下表所列: 前3字节为帧描述部分。...字节4~11为数据帧的实际数据,远程帧时无效。 2、扩展数据帧 CAN扩展帧帧信息是13字节,包括帧描述符和帧数据两部分,如下表所示: 前5字节为帧描述部分。...扩展格式的 ID 有 29 个位,基本 ID 从 ID28 到 ID18,扩展 ID 由 ID17 到 ID0 表示,基本 ID 和 标准格式的 ID 相同,可以出现2^29种报文,且在数据链路上是有间隙的...3、标准数据帧和扩展数据帧的特性 CAN标准数据帧和扩展数据帧只是帧ID长度不同,功能上都是相同的,它们有一个共同的特性:帧ID数值越小,优先级越高。
(先来一波操作,再放概念) 远程帧和数据帧非常相似,不同之处在于: (1)RTR位,数据帧为0,远程帧为1; (2)远程帧由6个场组成:帧起始,仲裁场,控制场,CRC场,应答场,帧结束,比数据帧少了数据场...(3)远程帧发送特定的CAN ID,然后对应的ID的CAN节点收到远程帧之后,自动返回一个数据帧。...,因为远程帧比数据帧少了数据场; 正常模式下:通过CANTest软件手动发送一组数据,STM32端通过J-Link RTT调试软件也可以打印出CAN接收到的数据; 附上正常模式下,发送数据帧的显示效果...A可以用B节点的ID,发送一个Remote frame(远程帧),B收到A ID 的 Remote Frame 之后就发送数据给A!发送的数据就是数据帧!...发送的数据就是数据帧! 主要用来请求某个指定节点发送数据,而且避免总线冲突。
和iloc的长处在于, 可以同时对列和行进行切片 df['Height'].head() 更简洁的使用列名标签索引的方式 df.Height.head() ④ 多列索引 df.loc[:,['Height...iloc方法 ① 单行索引 df.iloc[3] ② 多行索引 注意结尾是不包含的---和list的切片保持一致 df.iloc[3:5] ③ 单列索引 df.iloc[:,3].head() ④ 多列索引...区间索引 此处介绍并不是说只能在单级索引中使用区间索引,只是作为一种特殊类型的索引方式,在此处先行介绍。 1....cut得到的区间实际上是个catagory 类型的数据,并不能直接用来判断和给定区间是否重合,必须使用astype转换为区间类型的数据。...返回所有的行索引(转换为区间后)与给定区间有重叠的行。 cut得到的区间实际上是个catagory 类型的数据,并不能直接用来判断和给定区间是否重合,必须使用astype转换为区间类型的数据。
否则,对于范围査询、索引覆盖扫描等操作来说,速度可能会降低很多倍;对于索引覆盖扫描这点更加明显。 表的数据存储也可能碎片化。然而,数据存储的碎片化比索引更加复杂。有三种类型的数据碎片。...行间碎片对诸如全表扫描和聚簇索引扫描之类的操作有很大的影响,因为这些操作原本能够从磁盘上顺序存储的数据中获益。...不过最新版本 InnodB新增了“在线”添加和删除索引的功能,可以通过先删除,然后再重新创建索引的方式来消除索引的碎片化。...只需要将表的存储引擎修改为当前的引擎即可: mysql> ALTER TABLE ENGINE=; 应该通过一些实际测量而不是随意假设来确定是否需要消除索引和表的碎片化...,还要考虑数据是否已经达到稳定状态,如果你进行碎片整理将数据压缩到一起,可能反而会导致后续的更新操作出发一系列的页分裂和重组,这对性能造成不良的影响,直到数据再次达到新的稳定状态。
索引 import pandas as pd ser=pd.Series(range(0,10,2)) print(ser) 0 0 1 2 2 4 3 6 4 8 dtype...: int64 通过索引值或索引标签获取数据 通过index查看索引值 print(ser.index) RangeIndex(start=0, stop=5, step=1) 自定义索引值 ser.index...=['a','b','c','d','f'] print(ser) a 0 b 2 c 4 d 6 f 8 dtype: int64 通过索引值和索引标签获取数据 print...7 b 8 a 9 dtype: int64 a 10 b 10 c 10 d 10 f 10 g 10 dtype: int64 利用pandas查询数据...m 2 c 45 m 3 d 56 f 4 e 89 f 5 f 78 f 6 g 45 m 7 h 12 m 查询数据前
查询中可以同时使用视图和基本表。...索引是一种数据结构,它能提高在属性A上查找某个特定值的效率。...索引的声明 CREATE INDEX yearIndex ON Movies(year); 索引的选择 选择创建哪个索引要求数据库设计者做一个开销上的分析。...同样,如果查询涉及该属性上的连接操作,也会带来性能上改善。 另一方面,为关系上的某个属性或者某个属性集上建立索引会使得对关系的插入、删除和修改变得更加复杂和费时。...索引失效 在一些情况下,索引会失效,也就是系统弃用索引的情况: 1、对单属性建立索引,查询时使用多个属性。
注:最后有面试挑战,看看自己掌握了吗 文章目录 前言 链路层功能 功能 封装成帧和透明传输 组帧的四种方法 透明传输 差错控制 检错编码 差错 链路层的差错控制 检错编码 纠错编码 链路层代码实现 博主昵称...无确认无连接服务、有确认无连接服务、有确认有链接服务 链路管理:连接的建立维持释放------有连接服务 组帧 流量控制-----限制发送方 差错控制—帧错/位错 封装成帧和透明传输 把网络层IP数据报加头加尾形成帧...—帧丢失、帧重复、帧失序 当通信质量好有线传输链路----------无确认无连接--------传输层来保证可靠传输 通信质量差的无线传输-----------有确认有链接 -------------...*** ----------PSC帧检测序列/冗余码 接收端:接收到的数据 / 生成多项式 = *** -----------0 最终发送的数据: 要发送的数据+帧检验序列FCS 计算冗余码:1.加0...break; default:break; } //以上注释掉的协议均未实现,有兴趣的伙伴可以在看完我的协议栈设计的基础上在进行追加 } 到这里我们就算介绍完了数据链路层以太网的数据包发送和接收的过程及实现
高效:复杂的连接查询,每次执行时效率比较低,可以考虑新建视图,每次从视图中获取,将会提高效率。 定制数据:将常用的字段放置在视图中。 3.如何使用视图?...二、索引 1.什么是索引? 索引是供服务器快速在表中查询一行数据的数据结构,可以比作书籍的目录。mysql中的索引的默认数据结构是B-Tree。 2.为什么使用索引?...=7788; #性能级别:all(全表扫描),查询14row explain select * from emp where ename='scott'; 代码说明:为什么第1条查询比第2条查询快这么多?...on emp; 2.2 唯一索引 与普通索引区别是指定列的数据必须是唯一的,主键、唯一约束、外键等都会自动添加索引。...表数据量足够大; 增删改较少的表; 高基数列。什么意思?该列的数据大多数都不一样。 4.注意事项有哪些? 索引需要单独开辟空间进行维护,对数据进行增删改,都需要维护索引。
事务的性质: 原子性:同一个事务中的所有操作要不然全部成功要不然全部失败 一致性:一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,,也就是说一个事务执行之前和执行之后都必须处于一致性状态...数据库中索引的作用是用来加快查找速度,原理是将表中建立索引列的数据独立出来用特殊的数据结构存储,(如B-Tree,Hash),数据库实现通常使用B树和B+树 索引相当于字典的目录,可以通过查找目录来得到我们所需要的数据所在的位置...普通索引:普通索引允许被索引的数据列包含重复的值。 2. 唯一索引:被索引包含的数据列不允许有相同的值, 可以包含null 3....主键索引:主键创建的索引,唯一且不能为空, 4. 全文索引(mysql): 5. 聚集索引 : 该索引中键值的逻辑顺序决定了表中相应行的物理顺序。...(比如字典的按照拼音查询 逻辑顺序和物理顺序一致),一个表中只能有一个聚集索引 6. 非聚集索引 : 该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
索引 区别 Hash hash索引,等值查询效率高,不能排序,不能进行范围查询 B+ 数据有序,范围查询
为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。 文章主要内容分为三个部分。...第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。 第三部分根据上面的理论基础,讨论MySQL中高性能使用索引的策略。...为了加快Col2的查找,可以维护一个右边所示的二叉查找树,每个节点分别包含索引键值和一个指向对应数据记录物理地址的指针,这样就可以运用二叉查找在O(log2n)的复杂度内获取到相应数据。...B-Tree和B+Tree 目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构,在本文的下一节会结合存储器原理及计算机存取原理讨论为什么B-Tree和B+Tree在被如此广泛用于索引...这一节对B-Tree和B+Tree进行了一个简单的介绍,下一节结合存储器存取原理介绍为什么目前B+Tree是数据库系统实现索引的首选数据结构。
(数据库只储存视图的定义,不储存视图对应的数据,及也可通过视图修改基本表中数据) 视图优点: -|:为用户集中数据,简化用户的数据查询和处理。...索引的分类。创建索引时应考虑哪些问题? 索引(index):是对数据库表中一个或多个列的值进行排序的结构 ,其主要目的是提高SQL Server 系统的性能,加快查询数据的速度。...(目录纯粹是目录,正文纯粹是正文) 创建索引时应考虑的问题 -|:对一个表中建大量的索引,应经行权衡。(经常更新少索引,更新少的数据量大的多索引)。...-|:对小型表进行索引可能不会产生优化效果。 -|:对于主键和外键列应考虑建索引。...(主键查询、外键连接) -|:很少在查询中使用的列及值很少的列不应考虑建索引。 -|:视图中如果包含聚合函数或连接时,创建视图的索引可以显著提高查询性能。
我的疑问 按照上面的说法,InnoDB表的聚簇索引在同一个结构中保存了B-Tree索引和数据行,了解这个知识点后,我的疑问是:既然索引中有整行记录,那么表数据文件还有什么用呢?...来自《高性能MySql》的解释 《高性能MySql》的5.3.5章节对于聚簇索引的描述: 聚簇索引并不是一种单独的索引类型,而是一种数据数据存储方式; 当表有聚簇索引是,它的数据行实际上存在放在索引的叶子页...(leaf page)中; 叶子页包含了行的全部数据; 看来我的疑问可以解释了:索引数据和表数据分开存储这种理解在InnoDB是错误的,实际上InnoDB的表数据保存在主键索引的B-Tree的叶子节点;...从上图可见,并不存在表数据这样的内容,只有节点页(Node pages)和叶子页(Leaf pages) 关于节点页和叶子页的详情,以及每个聚簇索引结构体内容的详情,请看Jeremy Cole博客的图片集...反思 向数据库新增一条记录会保存索引数据和表数据,但并不代表会分别写索引文件和表数据文件,以前犯的是想当然错误; 之前的疑问是"索引文件中有数据行,那表数据文件有啥用",没有放过这个疑问,而是去刨根问底
数组的基本运算与矩阵的运算有点类似,但这不是今天的重点,今天主要讲的是numpy读取本地数据和索引。...2.Numpy读取数据 由于csv便于展示、读取和写入,所以很多地方也是用csv的格式存储和传输中小型的数据,操作csv格式的文件,操作数据库中的数据也是很容易的实现的。...(5)usecols:读取指定的列,索引,元组类型。 (6)unpack:如果True,读入属性将分别写入不同数组变量,False 读入数据只写入一个数 组变量,默认False。...图2.2 3.Numpy的索引和切片 Numpy的索引和切片和与列表相似,以后可能会经常遇到这样的操作,所以熟练掌握与切片相关的操作是很重要的。取某一行可以直接写t2[2],这个例子是指取第三行。...取行和列,t2[2,3]。取多行和多列t2[0:2,1:3]。取多个不相邻的点t2[[0,1,2],[1,2,3]],它实际上取的点是(0,1),(1,2),(2,3)。
索引策略,执行路径,就是绝大多数性能问题的那20%的关键因素。所以对Oracle数据表和索引的了解是至关重要的。...索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是一个独立于表的对象,可以存放在与表不同的表空间中。索引记录中存有索引关键字和指向表中数据的指针(地址)。...索引的优点: ①可以加快数据的检索速度。 ②可以加速表和表之间的连接。...③使用分组和排序子句进行数据检索时,可以减少查询中分组和排序的时间。 索引的缺点: ①创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。...,并且通常情况下索引全扫描使用的是单块读,索引的全扫描有一个前提是目标索引至少有一个索引键值列的属性是not null 对于索引全扫描,会话会产生db file sequential reads
数据字节在 OSI 网络模型中具有特定格式,因为每一层都有其特定的单位,数据单元还取决于使用的协议或连接。...通过网络发送的数据被分成数据包,这些数据包由目标设备重新组合,将数据分成数据包允许网络管理不同的带宽、路由和多个相互独立地共享数据和接收数据包的连接设备。...数据包是网络层中使用的数据单位,而帧是OSI 模型的数据链路层中使用的数据单位,一个帧比一个数据包包含更多关于传输消息的信息。 在组网中,存在两种类型的帧:定长帧和变长帧。...在定长帧中,帧的大小用作分隔符,因此不需要为帧设置边界。 在可变长度帧中,很难确定帧的开始和结束,因此,必须定义帧的开始和结束。...数据报包括报头、目标和源的 IP 地址以及数据。 数据报的问题在于它无法管理后续或先前的数据通信,同样对于单次传输,数据报最多可以容纳65535 非常小的数据字节。
用python连接数据库 pymysql pip install pymysql #如果让你装vs环境, 执行以下命令升级pip即可 python -m pip install --upgrade pip...连接数据库 数据库设置 MYSQL_CONF = { "host": "127.0.0.1", "user": "root", "password": "qwe369",..."db": "test" } 连接 # 连接数据库 mysql_con = pymysql.connect(**MYSQL_CONF) # 简单理解真正执行语句的线程 mysql_cursor = mysql_con.cursor...元组中表示记录的也是一个元组 (('店铺_1', Decimal('823471.56'), '2021-02-06'), ('店铺_6', Decimal('726927.02'), '2021-02-06')) 索引和优化...=等反向逻辑 BETWEEN范围查找 or逻辑两边都必须命中索引才会走索引 联合索引, 不按左缀查询规则 加缓存 数据库缓存 show VARIABLES LIKE '%query_cache%' 用redis
聚簇索引和非聚簇索引 在mysql数据库中,myisam引擎和innodb引擎使用的索引类型不同,myisam对应的是非聚簇索引,而innodb对应的是聚簇索引。聚簇索引也叫复合索引、聚集索引等等。...聚簇索引 以innodb为例,在一个数据table中,它的数据文件和索引文件是同一个文件。即在查询过程中,找到了索引,便找到了数据文件。...在innodb中,即存储主键索引值,又存储行数据,称之为聚簇索引。 innodb索引,指向主键对数据的引用。非主键索引则指向对主键的引用。...在用到索引时,先到table.myi(索引树)中进行查找,取到数据所在table.myd的行位置,拿到数据。...所以myisam引擎的索引文件和数据文件是独立分开的,则称之为非聚簇索引 myisam类型的索引,指向数据在行的位置。即每个索引相对独立,查询用到索引时,索引指向数据的位置。
索引 区别 聚集索引 数据按索引顺序存储,中子结点存储真实的物理数据 非聚集索引 存储指向真正数据行的指针
表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,Oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。...局部索引local index 1. 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区说,一句话,局部索引的分区机制和表的分区机制一样。 2....前缀和非前缀索引都可以支持索引分区消除,前提是查询的条件中包含索引分区键。 5....位图索引只能为局部分区索引。 8. 局部索引多应用于数据仓库环境中。 全局索引global index 1. 全局索引的分区键和分区数和表的分区键和分区数可能都不相同,表和全局索引的分区机制不一样。...全局分区索引的索引条目可能指向若干个分区,因此,对于全局分区索引,即使只动,截断一个分区中的数据,都需要rebulid若干个分区甚至是整个索引。 4. 全局索引多应用于oltp系统中。 5.
领取专属 10元无门槛券
手把手带您无忧上云