草庐IT

MySQL实战45讲 9

09|普通索引和唯一索引,应该怎么选择?每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会执行类似这样的SQL语句:selectnamefromCUserwhereid_card='xxxxxxxyyyyyyzzzzz';由于身份证号字段比较大,不建议你把身份证号当做主键,那么现在有两个选择,要么给id_card字段创建唯一索引,要么创建一个普通索引。Q:从性能的角度考虑,选择唯一索引还是普通索引呢?选择的依据是什么呢?A:ans用k来表示上面的身份证号,假设字段k上的值都不重复。查询过程假设,执行查询的语句是selecti

MySQL实战45讲 4,5

04|深入浅出索引(上)索引的出现其实就是为了提高数据查询的效率,就像书的目录一样索引的常见模型哈希表、有序数组和搜索树哈希表User2和User4根据身份证号算出来的值都是N,但没关系,后面还跟了一个链表。需要注意的是,图中四个ID_card_nhash出来的值并不是递增的,这样做的好处是增加新的User时速度会很快,只需要往后追加。但缺点是,因为不是有序的,所以哈希索引做区间查询的速度是很慢的,需要全部扫描一遍。所以,哈希表这种结构适用于只有等值查询的场景,比如Memcached及其他一些NoSQL引擎。有序数组有序数组在等值查询和范围查询场景中的性能就都非常优秀数组就是按照身份证号递增的

MySQL实战45讲 4,5

04|深入浅出索引(上)索引的出现其实就是为了提高数据查询的效率,就像书的目录一样索引的常见模型哈希表、有序数组和搜索树哈希表User2和User4根据身份证号算出来的值都是N,但没关系,后面还跟了一个链表。需要注意的是,图中四个ID_card_nhash出来的值并不是递增的,这样做的好处是增加新的User时速度会很快,只需要往后追加。但缺点是,因为不是有序的,所以哈希索引做区间查询的速度是很慢的,需要全部扫描一遍。所以,哈希表这种结构适用于只有等值查询的场景,比如Memcached及其他一些NoSQL引擎。有序数组有序数组在等值查询和范围查询场景中的性能就都非常优秀数组就是按照身份证号递增的

MySQL实战45讲 6,7,8

06|全局锁和表锁:给表加个字段怎么有这么多阻碍?Connection连接与Session会话通俗来讲,会话(Session)是通信双⽅从开始通信到通信结束期间的⼀个上下文(Context)。这个上下文是⼀段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户登录等信息。连接是物理上的客户端同服务器的通信链路根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类。全局锁全局锁就是对整个数据库实例加锁Flushtableswithreadlock(FTWRL)当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(

MySQL实战45讲 6,7,8

06|全局锁和表锁:给表加个字段怎么有这么多阻碍?Connection连接与Session会话通俗来讲,会话(Session)是通信双⽅从开始通信到通信结束期间的⼀个上下文(Context)。这个上下文是⼀段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户登录等信息。连接是物理上的客户端同服务器的通信链路根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类。全局锁全局锁就是对整个数据库实例加锁Flushtableswithreadlock(FTWRL)当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(

PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)

 最近在调试一款Phy的驱动,从没有任何头绪到略有了解经历了太多的痛苦,于是决定写这个系列篇记录一下。特别感谢无数优秀的博主无私奉献很多优秀的博文给予了我很大的帮助。在这个系列篇中,我也会转载部分优秀的博文(会附上链接),以及增添自己的理解,如果部分内容有侵权的地方,麻烦联系我。概述管理MII接口的MDIO接口是一个双线的串行接口,用来对PHY芯片等物理层信息进行操作管理。MDIO的历史MDIO是ManagementDataInput/Output的缩写,有两根线,分别为双向的MDIO和单向的MDC,用于以太网设备中上层对物理层的管理。之所以能够管理这些PHY芯片,是因为能够对PHY芯片的各类

PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)

 最近在调试一款Phy的驱动,从没有任何头绪到略有了解经历了太多的痛苦,于是决定写这个系列篇记录一下。特别感谢无数优秀的博主无私奉献很多优秀的博文给予了我很大的帮助。在这个系列篇中,我也会转载部分优秀的博文(会附上链接),以及增添自己的理解,如果部分内容有侵权的地方,麻烦联系我。概述管理MII接口的MDIO接口是一个双线的串行接口,用来对PHY芯片等物理层信息进行操作管理。MDIO的历史MDIO是ManagementDataInput/Output的缩写,有两根线,分别为双向的MDIO和单向的MDC,用于以太网设备中上层对物理层的管理。之所以能够管理这些PHY芯片,是因为能够对PHY芯片的各类

LeetCode-45. 跳跃游戏II - 题解分析

题目来源45.跳跃游戏II题目详情给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0i+j返回到达 nums[n-1]的最小跳跃次数。生成的测试用例可以到达nums[n-1]。示例1:输入:nums=[2,3,1,1,4]输出:2解释:跳到最后一个位置的最小跳跃数是2。 从下标为0跳到下标为1的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例2:输入:nums=[2,3,0,1,4]输出:2提示:10题目保证可以到达 nums[n-1]

LeetCode-45. 跳跃游戏II - 题解分析

题目来源45.跳跃游戏II题目详情给定一个长度为n的0索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意nums[i+j]处:0i+j返回到达 nums[n-1]的最小跳跃次数。生成的测试用例可以到达nums[n-1]。示例1:输入:nums=[2,3,1,1,4]输出:2解释:跳到最后一个位置的最小跳跃数是2。 从下标为0跳到下标为1的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例2:输入:nums=[2,3,0,1,4]输出:2提示:10题目保证可以到达 nums[n-1]

基于N32G45智能家居平台

​​想了解更多关于开源的内容,请访问:​​​​51CTO 开源基础软件社区​​​​https://ost.51cto.com​​1、项目功能本次项目采用腾讯物联网平台+微信小程序腾讯连连实现远程控制。本地采集温度数据和湿度数据,设置温湿度报警阈值,超过设定值即可通过蜂鸣器报警。微信小程序可远程控制开发板的硬件设备。OLED屏幕实时显示采集到的数据显示,采用两页显示方式,第一页显示实时时间,第二页显示环境温湿度数据,可通过按键切换。板子上电即可自动完成WIFI连接,在WIFI密码修改的情况下课实现手机一键配网,从而实现腾讯云平台接入。连接成功后屏幕界面默认显示当前实时时间。时间校准可现在网络校时