-
从0.742秒到0.006秒,MySQL百万数据深分页优化实战
一、前言 我们日常做分页需求时,一般会用limit实现,但是当偏移量特别大的时候,查询效率就变得低下。本文将分四个方案,讨论如何优化MySQL百万数据的深分页问题,并附上最近优化生产慢SQL的实战案例...
-
慢查询 MySQL 定位优化技巧,从10s优化到300ms
今天分享一下如何快速定位慢查询SQL以及优化。 一、如何定位并优化慢查询SQL? 一般有3个思考方向: 根据慢日志定位慢查询sql。使用explain等工具分析sql执行计划。修改sql或者尽量让sq...
-
CMU 15445 学习之Storage Manager
存储介质 一个数据库系统大致由以下几个不同的部分组成: query plan(执行计划)operator execution(执行器)access method(访问方法)buffer pool(缓冲...
-
聊一聊SQL自定义排序
今天给大家介绍几种方法来求解这样的问题,我们先看下示例表: 这张表的数据是随机录进去的,下面我们希望按照我们指定的顺序输出为如下内容: 注意:这里既没有按照人口的多少排序,也没有按照GDP的多少排序,...
-
数据库的等待事件分析接口其实比我们想象的更丰富
等待事件是数据库十分重要的可观测性接口,通过等待事件可以快速定位数据库存在的问题,并及时掌握数据库的运行状态。二十年前的时候,我给一家银行做服务的时候,他们要求核心系统监控,要求监控人员每隔五分钟查看...
-
超实用 Demo:使用 FastAPI、Celery、RabbitMQ 和 MongoDB 实现一个异步任务工作流
异步任务,是 Web 开发中经常遇到的问题,比如说用户提交了一个请求,虽然这个请求对应的任务非常耗时,但是不能让用户等在这里,通常需要立即返回结果,告诉用户任务已提交。任务可以在后续慢慢完成,完成后再...
-
面试官问我ES读写数据的过程,结果你能猜到吗?
面试题 es 写入数据的工作原理是什么啊? es 查询数据的工作原理是什么啊? 底层的 lucene 介绍一下呗? 倒排索引了解吗? 面试问这个,其实面试官就是要看看你了解不了解 es 的一些基本原理...
-
我们一起聊聊 SQLServer 的Latch
昨天聊了下SQLSERVER的spinlock,当时我认为spinlock是与Oracle LATCH相对应的结构,事实上碎片化的阅读会带来一些知识掌握的不准确。Oracle的LATCH是通过spin...
-
从头完成一个 Restful API 服务
今天一起来通过 Flask 快速完成并部署一个 Restuful 服务,不要轻易走开哦! 一、框架概要 先来看看大致的代码框架。 这里说明下,这套代码结构是参照经典flask书籍《Flask Web...
-
CMU 15445 学习之Advanced SQL
本章将会介绍一些常用的 sql 语法。注意这个课程只要是为了讲解数据库的设计,但同时对 sql 也要有一定的了解,不然没法进行后续学习,所以这里做一个简单的介绍,读者也可以查看其它的 sql 基础教程...
