SQL_优化
1 SQL优化
(1) 数据读取
①分区裁剪:使用时只读取需要的分区.
②列裁剪:读取操作(select、where、join、group by、sort by等),不读取不需要的列,减少IO消耗.
(2) 数据筛选
①分区先过滤,区分度大的字段先过滤.
②不在筛选字段上使用函数和表达式.
(3) 分组聚合
①使用窗口函数时,排序键区分度大的放在前面.
②数据量大时,用group by替代distinct.
(4) join
①减少不必要的关联字段.
②关联字段有用函数等处理时,可先处理好字段再关联.
③关联键区分度大的先执行.
④多表关联时,能减少数据量的表先关联.
(5) 索引
合理设置索引,再使用时避免索引失效.
(6) 整体
①将复杂查询分解为多个简单查询.
②将重复计算的结果存储在变量或临时表中.
2 结构优化
(1) 字段
①减少单表字段数.
②整数尽量用短的类型.
③可用枚举或者整数代替字符串类型.
3 资源优化
①调整内存参数:如缓冲池大小、缓存大小等.
②调整连接池:优化数据库连接池的大小和配置.
4 针对性优化
优化MySQL:从单表到高阶策略的全方位优化指南-CSDN博客
https://blog.csdn.net/weixin_43875878/article/details/125927373Hive_优化/问题-CSDN博客文章浏览阅读2次。①除了需要导入数据表使用textfile外,表的存储格式使用orc 和 parquet.https://blog.csdn.net/weixin_43875878/article/details/145882724
相关文章:
SQL_优化
1 SQL优化 (1) 数据读取 ①分区裁剪:使用时只读取需要的分区. ②列裁剪:读取操作(select、where、join、group by、sort by等),不读取不需要的列,减少IO消耗. (2) 数据筛选 ①分区先过滤,区分度大的字段先过滤. ②不在筛选字段上使用函数和表达式. (3) 分组聚合 ①使用窗口函数…...
Neo4j使用neo4j-admin导入csv数据方法
在neo4j desktop里创建project,创建dbms,创建database。 将csv文件放入如下import路径中,然后就可以使用相对路径来使用csv了。 在neo4j desktop中打开Terminal 键入导入数据语句: neo4j-admin database import full --nodes&qu…...
Node.js 登录鉴权
目录 Session express-session 配置 express-session 函数 ts 要配置声明文件 express-session.d.ts express-session 使用 express-session 带角色 Token 什么是 JWT token jsonwebtoken 使用 jsonwebtoken 带角色 Session express 使用 express-session 管理会话&…...
内存泄漏指什么?常见的内存泄漏有哪些?
内存泄漏是指程序在运行过程中,由于某些原因导致程序无法释放已经不再使用的内存,使得这部分内存持续被占用,最终可能导致系统可用内存逐渐减少,严重时会影响系统性能甚至导致程序崩溃。(内存泄漏是指程序中已经分配的…...
【PromptCoder】使用 package.json 生成 cursorrules
【PromptCoder】使用 package.json 生成 cursorrules 在当今快节奏的开发世界中,效率和准确性至关重要。开发者们不断寻找能够优化工作流程、帮助他们更快编写高质量代码的工具。Cursor 作为一款 AI 驱动的代码编辑器,正在彻底改变我们的编程方式。但如…...
STM32的C语言软件延时函数
STM32的延时方法很多,其中采用定时器延时,可以得到较为精确的延时,但是有时对延时精度要求不高的场合,采用软件延时,也是必须的。特别是在RTOS系统中,使用SysTick的普通计数模式对延迟进行管理,…...
【洛谷排序算法】P1012拼数-详细讲解
洛谷 P1012 拼数这道题本身并非单纯考察某种经典排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序等)的实现,而是在排序的基础上,自定义了排序的比较规则,属于自定义排序类型的题目。不过它借助了标准库中…...
在WINDOWS系统使用CMake gui编译NLopt配合VSCode使用
1. 准备工作 安装CMake:从CMake官网下载并安装CMake。下载Nlopt源码:从Nlopt官网或GitHub仓库下载Nlopt源码。安装编译器:确保已安装Visual Studio或其他支持的编译器(如MinGW)。 2. 配置CMake 方式1 打开CMake GU…...
angular生命周期
ngOnChanges:当组件的输入属性(Input)发生变化时调用。 ngOnInit:在组件的输入属性初始化后调用,但此时视图尚未加载。 ngAfterContentInit:在组件的内容投影(ng-content)初始化后…...
[AI概念域] AI 大模型是如何被训练出来的?(通俗解读)
说明:这里使用 学生成长五部曲 比喻带你理解大模型如何从零开始学会思考。 AI大模型的训练过程可分为四个核心阶段: 首先进行海量数据收集与清洗,如同为“学生”准备涵盖各领域知识的教材库;接着通过预训练让模型完成“填空题”…...
Mellanox的LAG全称是什么?网卡的创建机制如何?(Link Aggregation Group 链路聚合组)
背景 对于双端口的网卡,有时候有将链路聚合的需求。在Mellanox网卡上通过LAG提供。对于RoCE的报文在Mellanox上也可以通过LAG来完成报文收发,叫做RoCE over LAG。但是仅仅适用于双端口卡。 关键点 LAG: Link Aggregation Group (LAG) 链路…...
【最大通过数——二分】
题目 代码 #include<bits/stdc.h> using namespace std; using ll long long;const int N 2e510;int n, m, k; ll a[N], b[N];bool check(int mid) {for(int i 0; i < mid; i){if(i > n) break;if(mid-i > m) continue;if(a[i] b[mid-i] < k) return tr…...
Liunx系统中FTP与NFS
目录 一、FTP文件传输协议 1.1、FTP工作原理 1.2、FTP状态码 1.3、FTP用户类型 1.4、FTP软件vsftpd 1.4.1、安装vsftpd 1.4.2、vsftpd配置文件 二、NFS网络文件系统 2.1、NFS工作原理 2.2、NFS软件 2.3、NFS共享配置文件格式 2.4、NFS相关命令 2.4.1、exportfs 2.…...
uniapp 测试 IPA 包安装到测试 iPhone
将uniapp测试IPA包安装到测试iPhone有以下几种方法: 使用Xcode安装 确保计算机上安装了Xcode,并将iOS设备通过数据线连接到计算机。打开Xcode,在菜单栏中选择Window->Devices and Simulators,在设备列表中找到要安装的iPhone…...
结构体指针传递给函数注意事项
在 C 语言中,传递结构体指针给函数是一种常见且高效的编程方式。不过,在实际操作时,有一些重要的注意事项需要留意,下面为你详细介绍: 1. 避免空指针引用 在函数内部使用结构体指针前,要先检查该指针是否为…...
mfy学习笔记
创建表并导入数据 CREATE TABLE sales (id INT,salesperson STRING,region STRING,sales_amount INT,sale_date DATE );INSERT INTO sales (id, salesperson, region, sales_amount, sale_date) VALUES (1, Alice, North, 1000, 2023-01-01), (2, Bob, South, 1500, 2023-01-0…...
C语言--文件操作
第16讲:文件操作 1. 为什么使用文件? 如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的&…...
网络安全内参
在我的IT职业生涯的早期,Sun Microsystems被认为是一个计算机梦想家。Sun很早就创造了一个有趣的公司口号:“The network is the computer.”这是什么意思?这意味着IT基础设施以松散耦合的体系结构连接在一起,通过以太网电缆和TCP/IP协议等网…...
C++大整数类的设计与实现
1. 简介 我们知道现代的计算机大多数都是64位的,因此能处理最大整数为 2 64 − 1 2^{64}-1 264−1。那如果是超过了这个数怎么办呢,那就需要我们自己手动模拟数的加减乘除了。 2. 思路 我们可以用一个数组来存储大数,数组中的每一个位置表…...
在 macOS 系统上安装 kubectl
在 macOS 系统上安装 kubectl 官网:https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-macos/ 用 Homebrew 在 macOS 系统上安装 如果你是 macOS 系统,且用的是 Homebrew 包管理工具, 则可以用 Homebrew 安装 kubectl。 运行…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
