草庐IT

perfect-hash

全部标签

-B+树索引和HASH索引有哪些不一样【MySQL系列】

我们都理解B+树和Hash索引的区别有助于我们预测索引在不同的存储引擎中是怎么执行查询的。B+TREE索引特性B数是一种在数据库索引中流行的树数据结构。该结构始终保持排序,从而可以快速查找精确匹配。MySQL中使用的是B树的一种变体,B+树,这种类型的索引可用于大多数存储引擎,例如InnoDB和MyISAM。B+树中的B不是代表二叉(binary),而是代表平衡(balance),因为B+树是从最早的平衡二叉树演化而来,但是B+树不是一个二叉树。B+树可以用在=、>、>=、比如下面的SQL语句就没有使用索引即使key_col建立了索引。SELECT*FROMtbl_nameWHEREkey_c

-B+树索引和HASH索引有哪些不一样【MySQL系列】

我们都理解B+树和Hash索引的区别有助于我们预测索引在不同的存储引擎中是怎么执行查询的。B+TREE索引特性B数是一种在数据库索引中流行的树数据结构。该结构始终保持排序,从而可以快速查找精确匹配。MySQL中使用的是B树的一种变体,B+树,这种类型的索引可用于大多数存储引擎,例如InnoDB和MyISAM。B+树中的B不是代表二叉(binary),而是代表平衡(balance),因为B+树是从最早的平衡二叉树演化而来,但是B+树不是一个二叉树。B+树可以用在=、>、>=、比如下面的SQL语句就没有使用索引即使key_col建立了索引。SELECT*FROMtbl_nameWHEREkey_c

MySQL Hash Join前世今生

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:nwMySQLHashJoin前世今生因工作需要,对MySQLHashJoin的内部实现做了一些探索和实践,对这个由8.0.18开始引入的连接算法有了一定的了解,写文总结与各位大佬分享,欢迎大家指教。因篇幅较长,这份总结分成若干部分,我们今天先一起来看一下MySQLHashjoin的变迁史。爬了一下MySQLworklog[1],并结合源码及各版本的实际使用,个人认为比较重要的worklogs为如下几个,其它的变更一般围绕这些worklogs做的

MySQL Hash Join前世今生

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:nwMySQLHashJoin前世今生因工作需要,对MySQLHashJoin的内部实现做了一些探索和实践,对这个由8.0.18开始引入的连接算法有了一定的了解,写文总结与各位大佬分享,欢迎大家指教。因篇幅较长,这份总结分成若干部分,我们今天先一起来看一下MySQLHashjoin的变迁史。爬了一下MySQLworklog[1],并结合源码及各版本的实际使用,个人认为比较重要的worklogs为如下几个,其它的变更一般围绕这些worklogs做的

Redis常用指令之string、list、set、zset、hash

Redis之五大类型常用指令redis的一些小知识redis服务器端口默认是6379在编译完成后的bin目录下启动服务端:redis-server客户端连接操作:redis-cli-hlocalhost-p6379,如果是一台机器可以省略后面的:redis-cli(备注:可以复制redis解压目录下的redis-conf文件到另一个文件夹,然后可以修改端口号port7000这时你再次启动服务还是6379的端口号,读取的还是源码目录里的redis-conf文件,要想在启动的时候读取我们修改后的配置文件,需要修改启动命令的格式:redis-server复制过来修改后的配置文件路径,比如:redis

Redis常用指令之string、list、set、zset、hash

Redis之五大类型常用指令redis的一些小知识redis服务器端口默认是6379在编译完成后的bin目录下启动服务端:redis-server客户端连接操作:redis-cli-hlocalhost-p6379,如果是一台机器可以省略后面的:redis-cli(备注:可以复制redis解压目录下的redis-conf文件到另一个文件夹,然后可以修改端口号port7000这时你再次启动服务还是6379的端口号,读取的还是源码目录里的redis-conf文件,要想在启动的时候读取我们修改后的配置文件,需要修改启动命令的格式:redis-server复制过来修改后的配置文件路径,比如:redis

leetcode 279. Perfect Squares 完全平方数(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/perfect-squares给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。示例 1:输入:n=12输出:3解释:12=4+4+4示例2:输入:n=13输出:2解释:13=4+9提示:1二、解题思路动态规划,dp[i]表示i有几个完全平方数的加和构成,枚举比i小的完全平方数,状态转移方程为dp[i]=min(dp[i-k]+1),k就是完全平方数三、解题方法3.1Java

leetcode 279. Perfect Squares 完全平方数(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/perfect-squares给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。示例 1:输入:n=12输出:3解释:12=4+4+4示例2:输入:n=13输出:2解释:13=4+9提示:1二、解题思路动态规划,dp[i]表示i有几个完全平方数的加和构成,枚举比i小的完全平方数,状态转移方程为dp[i]=min(dp[i-k]+1),k就是完全平方数三、解题方法3.1Java

记录--前端路由 hash 与 history 差异

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助简单介绍VueRouterVueRouter是Vue.js官方的路由插件,它和Vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。路由模块的本质就是建立起url和页面之间的映射关系。至于我们为什么不能用a标签,这是因为用Vue做的都是单页应用,就相当于只有一个主的index.html页面,所以你写的标签是不起作用的,你必须使用v

记录--前端路由 hash 与 history 差异

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助简单介绍VueRouterVueRouter是Vue.js官方的路由插件,它和Vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。路由模块的本质就是建立起url和页面之间的映射关系。至于我们为什么不能用a标签,这是因为用Vue做的都是单页应用,就相当于只有一个主的index.html页面,所以你写的标签是不起作用的,你必须使用v