数据结构与算法

447:做好数据备份真香

最近电脑发生了一些事情,让我意识到备份数据真的太香啦。 一个是旧电脑固态硬盘的发生了故障。电脑的机械硬盘之前被我拆下来了,固态硬盘一坏,电脑的数据基本就废了。肯定很多数据文件都丢失了不少,也不算全军覆没。在两年前,重新安装系统时,做了备份。那数据整理压缩到了U盘中,这里面又不少重要的文件。目前是这两年中的文件丢了。还有一些重要的文档,之前传到了手机上,也无意中做了备份。 还有一件事情是今天的数据库

网络/数据库常见的超时设置(socketTimeOut、connectionTimeout...)

transaction timeout:事务执行超时,一个事务中可能包含多个sql(statement) statement timeout:单个sql(statement)执行超时 socket timeout:socket读取超时 connect timeout:建立数据库连接超时 get connection timeout:从连接池中获取链接超时 详见文章:深入理解数据库编程中的超时设

MySQL 查询优化(六): MySQL 的查询优化排序优化机制

对结果进行排序操作的代价可能很高,因此可以通过避免排序或让参与排序的数据行更少来优化查询性能。 当 MySQL 不能使用索引产生有序结果时,它必须对数据行进行排序。这有可能是在内存中进行也可能是在磁盘进行,但 MySQL 始终将这个过程称之为 filesort,即便实际上并没有使用一个文件。 如果用于排序的值可以一次性放入排序缓存中,MySQL 可以在内存中使用快排算法进行排序。如果 MySQL

Select进阶查询·流程控制函数

一、语法格式: if语句 语法格式: if(条件,v1,v2) 如果条件成立,则返回v1,否则返回v2 ifnull语句 语法格式: ifnull(v1,v2) 如果v1不是空,则返回v1,否则返回v2 相当于如果v1为空,返回默认值的效果 case语句 语法格式 (可以有多个判断添加): 如果字段名等于某个值 则返回对应位置then后面的值 并结束判断 如果与所有值都不相等

解决sqlite3查询数据返回字典格式的方法

问题: python使用 sqlite3 数据库进行增删改查时发现,sqlite3查询数据返回的元组,会导致我使用csv库导出数据时会报错。 如下图,是sqlite3最初查询返回的数据格式: 源码: import sqlite3 conn = sqlite3.connect('show.db.php') cursor = conn.cursor() def catalog_page_num()

算法魅力-BFS解决多源最短路

目录前言前提引入谈谈多源最短路题目实练矩阵飞地的数量地图中的最高点地图分析结束语前言 在图论与网格问题中,最常见的一类题目就是“求最短距离”。通常情况下,我们会从某一个起点出发,利用 BFS(广度优先搜索) 逐层扩展,得到从该点到所有点的最短路。然而,在许多实际场景中,往往存在 多个

【数据结构】二叉树-堆(下)-链式二叉树

个人主页~二叉树-堆(上) 栈和队列 二叉树 四、堆的代码实现 Heap.h Heap.c test.c 五、堆的应用 堆排序思想进行排序 六、二叉树链式结构的实现 BTree.h BTree.c test.c 四、堆的代码实现 Heap.h#pragma once #include <stdio.h>

MySQL 数据表优化设计(七):常见的数据表设计误区整理

虽然会有一些常规意义上的数据表错误设计和优秀设计原则,但是同样也会有 MySQL 特定的一些情况,这会导致我们犯一些 MySQL 特定的错误。本篇讨论常见的设计误区。 误区一:过多的数据列 MySQL 存储引擎的 API 是按照行缓冲区方式从服务端和存储引擎复制数据。服务端将缓冲区数据解码成数据列。然而,将行缓冲区的格式转换为数据行数据结构的列可能会代价很高。MyISAM 固定使用与服务端匹配