自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 如何用 Burnside 引理解决项链问题

对每个珠子进行标号,虽然可以选择两种颜色,但某些排列组合的项链经过旋转种类是一样的,比如如下两种:接下来我们看看项链可以经过哪些变换,以及如果不考虑变换,静态的项链有多少种不同的染色方案。项链的变换其实就是刚性变换:旋转和反射。容易知道六颗珠子的项链有 6 种旋转(顺时逆时取其一)和 6 种反射(6 条对称轴),一共 12 种变换,如下图:C6320C63​20种不难想象,经过旋转和反射后,最终只有三种形态的项链,也就是:这里像不像有机物?

2023-12-20 17:34:52 904

原创 五个顶点的不同构图有多少种

个,也就是有 120 种变换,所以这个问题本质上就是 120 阶变换群。5 个顶点,任意两个顶点可以画一条边,因此不考虑变换的情况下,有。种图(其中有同构的),另一方面,5 个点的变换共有。,因此要做的计算就是针对每个。作用于 1024 阶集合。

2023-12-08 10:03:15 322

原创 为什么 UTF-8 比 GB 18030 编码有更好的容错性

UTF-8 和 GB 18030 是两种字符集编码,UTF-8 是一种针对 Unicode 的编码方式,GB 18030 是国标编码,最新版的 GB 18030-2022 已经将所有的有意义字符都映射到 Unicode 码位上,所以两者支持的字符数量可以认为没有差别。此外,由于是国标,GB 18030 在生僻汉字的收录上更有效率(映射到 Unicode 的第十平面是一个有争议的话题,本文暂不展开)。

2023-09-06 13:36:17 575

原创 Db2 中计算 OR 关系组合列选择率的原理

问题非常简单,Db2 是如何估算如下语句所带谓词条件的选择率的:or c2=?or c3=?or c4=?;可以看到,表中一共有 12 条数据,收集了统计信息后,Db2 优化器知道了 c1, c2, c3, c4 的 NDV(Number of Distinct Value)分别是 12, 6, 4, 3。我们考虑如下语句:SELECT * FROM testset WHERE c1=?or c2=?or c3=?or c4=?;

2023-08-24 14:01:54 87

原创 Db2 把 not in 转换成 anti-join 的规则

基于上述原因,大部分数据库都可以将 not exist 转成 anti-join,来获取更好地性能,而 not in 则是在一定条件下,才能转换成 anti-join。首先,我们都知道在 SQL 语义中,not in 和 not exist 是不等价的,尤其是在有 NULL 参与关联判断的时候,关于这方面的说明文档网上有很多,不赘述了。可以看到,不仅没有 not in 转换成 anti-join,而且还有一段 warning,说明了优化器放弃 NOTIN2AJ 是因为语义条件不满足。

2023-06-22 10:22:19 126

翻译 The Part-Time Parliament 核心内容个人注解

The Part-Time Parliament 核心内容个人注解

2023-05-25 19:38:45 157

原创 RSA 公钥密码系统背后的数学原理

本文介绍了 RSA 公钥密码系统背后的数学原理

2022-12-11 13:31:12 311

原创 关于 Db2 Expression-based Indexes statistical view

从 Db2 10.5 开始,可以创建 Expression-based Indexes,每当创建了 Expression-based Indexes,系统会自动为其生成一个 statistical view,以索引名字加“_v”的后缀来命名。主要目的是因为索引字段上含有表达式,普通的方法无法收集其值的统计信息,借助 statistical view 就可以为其收集更加准确的统计信息。...

2022-09-01 13:38:08 92

原创 关于 Db2 character set collation

本文总结了 Db2 在不同字符集(character set)和校对(collation)设置情况下的排序和比较行为。

2022-06-26 09:12:16 1050

翻译 CAP 理论证明的个人翻译和评注

CAP 理论证明的个人翻译和评注

2022-01-25 23:04:09 243

原创 一些 Db2 UDB Filter Factor 的计算

一些 Db2 UDB Filter Factor 的计算

2021-12-15 15:20:06 279

原创 用随机梯度下降法实现 SVM 线性分类器的实例

本文使用自己编写的例子来帮助理解用随机次梯度下降法(Stochastic Sub-Gradient Descent)实现 SVM 线性分类器,不会过多涉及理论和原理的分析,只是为了更形象的理解。例子中使用的是二维平面。问题:给定一组训练数据  (xi,yi)\ (x_i,y_i) (xi​,yi​),对于其中一部分  xi\ x_i xi​, yi=1\ y_i = 1 yi​=1,另一部分  xi\ x_i xi​,&nb

2021-12-14 11:45:25 2080 3

原创 Mac上使用DTrace检测MySQL的初步实验

Mac上使用DTrace检测MySQL的初步实验背景知识步骤关闭Mac SIP编写DTrace脚本执行DTrace脚本工作原理解释更多探索参考背景知识BPF是Linux上新兴的性能跟踪工具,其中一项重要的技术是“动态插桩”。关于BPF和动态插桩可以参考BPF相关书籍,比如参考1。在Mac上可以使用DTrace来实现类似的动态插桩功能,这里通过一个小实验向大家介绍这一工具的使用方法,给大家提供一些入门级的感性认识。步骤关闭Mac SIP重启Mac,开机时立刻按住Command + r 不放,进入恢复

2021-10-17 19:50:42 388

原创 PostgreSQL源码自学笔记3

PostgreSQL源码自学笔记3今天是cost_index,也就是PG计算index scan的cost。记录几个重点:首先是如果禁用了indexscan,照例cost加100亿,如下: if (!enable_indexscan) startup_cost += disable_cost;其次是对index顺序是否良好的一个考虑,类似于Db2中的index cluster ratio,如果index字段的排序和table行的排序用如下指标来衡量:csquared = indexCorre

2021-07-16 09:31:26 119

原创 PostgreSQL源码自学笔记2

PostgreSQL源码自学笔记2今天学习下cost_samplescan,重点在于两种采样方式,伯努利采样用seq page cost,系统采样用random page cost,如下所示:spc_page_cost = (tsm->NextSampleBlock != NULL) ? spc_random_page_cost : spc_seq_page_cost;这是因为伯努利采样是按row采样,因此基本每一page都会被读取到;而系统采样是按page采样,所以并不是每个page

2021-07-15 19:57:36 68

原创 PostgreSQL源码自学笔记1

PostgreSQL源码自学笔记1就从costsize.c开始,学习下PG中各种cost是如何计算出来的,costsize.c在src/backend/optimizer/path目录下。第一个重要的函数cost_seqscan,用来计算seq scan的cost。PostgreSQL的seq scan类似于Db2中的table scan,重点代码如下:if (!enable_seqscan) startup_cost += disable_cost;表示如果参数中禁用了seq scan,

2021-07-13 20:32:52 263

原创 理解 pureScale 背后的 TSAMP 是如何工作的

理解 pureScale 背后的 TSAMP 是如何工作的

2021-07-03 09:45:13 840

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除