数据结构与算法

Django笔记二十五之数据库函数之日期函数

日期函数主要介绍两个大类,Extract() 和 Trunc() Extract() 函数作用是提取日期,比如我们可以提取一个日期字段的年份,月份,日等数据 Trunc() 的作用则是截取,比如 2022-06-18 12:12:12,我们可以根据需求获取到日期 2020-06-18,或者更细粒度到时分秒 这次我们用到下面这个 model: class Experiment(models.Mode

MySQL 如何优化慢查询?

一、前言 在日常开发中,我们往往会给表加各种索引,来提高 MySQL 的检索效率。 但我们有时会遇到明明给字段加了索引,并没有走索引的Case。 进而导致 MySQL 产生慢查询。 严重场景下,甚至出现主从延迟、数据库拖垮的极端事故。 本文梳理出索引失效的几种常见场景给大家参考。 二、技术基础 Explain 命令使用 只要我们在 SQL 前加上 explain,就可以分析出,当前环境下 MySQ

【数据结构】排序算法(下篇·终结)·解析数据难点

前引:归并排序作为一种高效排序方法,掌握起来还是有点困难的,何况需要先接受递归的熏陶,这正是编程的浪漫之处,我们不断探索出新的可能,如果给你一串数据让其变得有序?是选择简单的冒泡、插入排序,用暴力美学还是空间换时间?排序算法终结篇——启程!目录归并排序&#xf

全面剖析Seata 分布式事务 AT 与XA

前言 昨天有小伙伴私信小编说想小编出一期Seata分布式事物XA与AT模式的解析,经过昨晚的熬夜加班整理,今天将为大家带来Seata 分布式事务 XA 与 AT 的全面剖析。文章分为:XA模式是什么?什么是 Seata 的事务模式?AT模式是什么?为什么Seata要支持XA模式?AT与XA之间的关系,五个问题小编将一一为大家讲解,最后附上总结,话不多说咱们直接进入正题。 1. XA模式是什么? 首

434.【数据库技术基础】SQL 的基本组成

SQL 由如下几个部分组成: 关系数据库的三级模式结构 数据定义语言。SQL DDL 提供定义关系模式和视图、删除关系和视图、修改关系模式的命令。 交互式数据操纵语言。SQL DML 提供查询、是插入、删除和修改的命令。 事务控制(Transaction Control)。SQL 提供定义事务开始和结束的命令。 嵌入式 SQL 和动态 SQL(Emebeded SQL and Dy

Elasticsearch之原理详解

1 Elasticsearch 1.1 简介 ES是使用 Java 编写的一种开源搜索引擎,它在内部使用 Lucene 做索引与搜索,通过对 Lucene 的封装,隐藏了 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API 然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。 它可以被下面这样准确的形容: 一个分布式的实时文档存储

pg_auto_failover:一个业务连续性解决方案,高可用性和自动故障转移

转载自 pg_auto_failover简介:高可用性和自动故障转移Postgres扩展 在设计pg_auto_failover时,我们的目标是:为Postgres提供易于设置的业务连续性解决方案,该解决方案实现系统中任何一个节点的容错能力。 重要的是要了解pg_auto_failover已针对业务连续性进行了优化。万一丢失单个节点,由于PostgreSQL同步复制,pg_auto_failove

【数据结构】二叉树的实现

   个人主页:@我要成为c嘎嘎大王 希望这篇小小文章可以让你有所收获!目录 一、树的概念及结构1.1 树的概念 1.2 树的表示 二、二叉树的概念及结构2.1 二叉树的概念2.2 特殊的二叉树  2.3 二叉树的性质 2.4 二叉树的存储结构2.4.1 二叉树的顺序存储结构2.4.2 二叉树的链式存储结构 2.5 二叉树的遍历2.5.1 前序遍历 2.5.2

MySQL优化(索引与查询优化)

MySQL优化(索引与查询优化) 1. 如何定位及优化SQL语句的性能问题? 对于低性能的SQL语句的定位,最重要也是最有效的方法就是使用执行计划,MySQL提供了explain命令来查看语句的执行计划。 我们知道,不管是哪种数据库,或者是哪种数据库引擎,在对一条SQL语句进行执行的过程中都会做很多相关的优化,对于查询语句,最重要的优化方式就是使用索引。 而执行计划,就是显示数据库引擎对于SQ

【算法】快速排序

目录 一、递归版本 1.1 hoare版本 1.2 挖坑法 1.3 lomuto前后指针版本  二、快排优化 2.1 时间复杂度的计算 2.1.1 理想状态 2.1.2 有序状态 2.1.3 大量重复数据    2.2 优化     2.2.1 随机选key      2.2.2 三数取中     2.2.3 三路划分 三、非递归版本