数据结构与算法

463.【数据库】Star Schema Benchmark 标准测试集优化(二)

这是Star Schema Benchmark 标准测试集优化的第二篇,前一篇提到了优化表结构。 表结构优化完之后,我们分析了下表数据, 一、验证数据的标准性 这几个表,除了lineorder是根据factor成倍增长,其它的表记录数增长应该是缓慢的,对吧,有的表甚至没有随着factor增长,对吧? 上面是架构师问让我调研的,我查了下,customer、supplier、lineorder三张

【LeetCode】力扣刷题攻略路线推荐!适合新手小白入门~(含各类题目序号)

力扣上有许多数据结构及算法的练习,但是如果由第一题【两数之和】开始刷,会让50%的人倒在起点。所以我们刷题要讲究路线攻略以及技巧~大体路线方向由简入难 数学 数组 链表 字符串 哈希表 双指针 递归 栈 队列 树 图与回溯算法 贪心 动态规划 刷题技巧 建议刷题的时候分成四轮来刷,不用想着第一次就把单个分类的全部刷完。 第一轮: 按照 数学 >

mysql的MVCC机制

面试问题:如果两个客户端同时执行一个查询sql,为什么查出的数据可能不一样? 解答:是因为mysql底层维护了一个undo日志版本链和read-view一致性试图机制,在repeatable-read隔离级别下,一个事务开启之后,当执行查询语句的时候,就生成了一个read-view,之后查询就会根据一定的规则去undo日志版本链中比对数据;在read-commited隔离级别下,一个事务开启之后,

276. 【运维】日志太重要了!

前天、昨天、今天,三天的摸索终于找着原因了!3 月初的时候客户那边服务器宕机,缺失了数据,负责这块的一个小哥出了个馊主意,从其他地方弄来了数据导入到数据库里,结果把主键ID,弄得特别大。 我们的 ETL 工具,在做数据抽取的时候,会检查主键 ID,找到数据库里已存在的最大主键 ID,根据 ID 找到对应的时间,然后从那个时间点以后开始从其他数据源抽取数据。问题就在于那个小哥把搞来的数据生成了些比之

mysql之日志系统:SQL更新语句逻辑

mysql的2个重要日志:物理日志redo log和逻辑日志 binlog。 redo log: 保证crash-safe能力 每次事务的redo log持久化到磁盘:innodb_flush_log_at_trx_commit=1 每次事务的binlog 持久化到磁盘:sync_binlog=1 1、redo log WAL技术:Write-Ahead Logging,关键点是先写日志,在写磁

机器学习-聚类分析算法

一、聚类分析的定义聚类分析是一种无监督学习的统计分析方法。它的主要目的是将一个数据集中的样本(或观测值)按照某种相似性或距离度量划分成若干个类别(簇)。在聚类过程中,同一个簇内的样本具有较高的相似性,而不同簇之间的样本相似性较低。例如,在市场细分中,企业可以利用聚类分析将消费者划分为不同

MySQL查询优化(七):MySQL 的 count (*)真的很低效?

优化COUNT函数的查询在 MySQL 中最容易被误解的话题中能够排进前10名,我们可以在网上搜索了解更多关于 COUNT 优化的误解信息。在进行优化前,理解 COUNT 到底做了什么很重要。 COUNT 函数做什么用? COUNT 是一个专用的函数,通常有两种不同的方式:计算值和数据行。值指的是非空(Non-NULL)表达式(NULL表示值缺失)。如果我们在 COUNT的参数中指定了列名或其

MySQL笔记

MySQL 基础篇 一、SQL 1、SQL 通用语法 (1)SQL语句可以单行或多行书写,以分号结尾。 (2)SQL语句可以使用空格/缩进来增强语句的可读性。 (3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。 (4)注释: 单行注释 : -- 注释内容  或  # 注释内容 (MySQL 特有) 多行注释 : / * 注释内容 */ 2、SQL分类 分类说明 DDL数据定义

【初阶数据结构】森林里的树影 “堆” 光:堆

文章目录 1.堆的概念及结构 2.堆的接口实现 2.1 堆的初始化 2.2 堆的销毁 2.3 堆的交换 2.4 堆的向上调整 2.5 堆的插入 2.6 堆的向下调整 2.7 堆的删除 2.8 堆顶获取 2.9 堆的判空 2.10 堆的节点个数 2.11 堆的打印 2.12 堆的排序(向上建堆) 2.13 堆的排序(向下建堆)