当前位置: 首页 > news >正文

Mysql的Cardinality值

什么是Cardinality值?

Cardinality值是Mysql做索引优化时一个非常关键的值,优化器会根据这个值来判断是否使用这个索引,它表示索引中唯一值的数目估计值,该值应该尽可能接近1,如果非常小,则用户需要考虑是否删除该列索引。但注意,这个值并不是准确的,它只是一个大概的值。

如何查询Cardinality值?

可以使用show index from [table name]来查看

在这里插入图片描述
Cardinality如何更新?

首先我们要知道如果一个表的数据很大,那么更新这个值的成本是很大的,所以我们不可能频繁的更新这个值。这个值是由InnoDB自身来维护的,Cardinality值统计信息的更新每次发生在Insert和Update语句后,当然它也不是每次更新和插入后都重新统计的,它的更新标准有两个:

  • 表中1/16数据已经更新
  • stat_modified_counter > 2000000000

对于第一个策略,它会在表自从上次更新Cardinality后表中1/16的数据发生变化后更新Cardinality值。第二个情况表示法僧你变化的次数。

满足上面条件后Cardinality就可以更新,其更新策略采用的是采样法,每次获取8个叶子结点,统计每个页不同记录的数目,然后根据采样的信息估计出Cardinality(这也说明了一个事实,重复获取Cardinality值结果可能不一样)。8这个采样数目是系统默认的,我们可以通过innodb_stats_sample_pages来修改采用数目。
此外类似于:ANALYZE TABLESHOW TABLE STATUSSHOW INDEX FROM以及INFORMATION_SCHEMA架构下的TABLES和STATISTICS表被访问是都会更新这个值。

相关文章:

Mysql的Cardinality值

什么是Cardinality值? Cardinality值是Mysql做索引优化时一个非常关键的值,优化器会根据这个值来判断是否使用这个索引,它表示索引中唯一值的数目估计值,该值应该尽可能接近1,如果非常小,则用户需要考虑是否…...

数据结构 - 栈和队列

本篇博客将介绍栈和队列的定义以及实现。 1.栈的定义 栈是一种特殊的线性表,只允许在固定的一端进行插入和删除数据,插入数据的一端叫做栈顶,另一端叫做栈底。栈中的数据遵守后进先出的原则 LIFO (Last In First Out)。 插入数据的操作称为压…...

C++:模版进阶 | Priority_queue的模拟实现

创作不易,感谢三连支持 一、非类型模版参数 模板参数分类为类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数&…...

【刷题记录】详谈设计循环队列

下题目为个人的刷题记录,在本节博客中我将详细谈论设计循环队列的思路,并给出代码,有需要借鉴即可。 题目:LINK 循环队列是线性表吗?或者说循环队列是线性结构吗? 对于这个问题,我们来看一下线…...

人工智能|机器学习——k-近邻算法(KNN分类算法)

1.简介 k-最近邻算法,也称为 kNN 或 k-NN,是一种非参数、有监督的学习分类器,它使用邻近度对单个数据点的分组进行分类或预测。虽然它可以用于回归问题,但它通常用作分类算法,假设可以在彼此附近找到相似点。 对于分类…...

乐得瑞 1C to 2C快充线:引领充电数据线新潮流,高效快充解决接口难题

随着科技的不断进步,数据线的接口种类也日渐繁多,但在早些时候,三合一和二合一的数据线因其独特的设计而备受欢迎。这类数据线通常采用USB-A口作为输入端,并集成了Micro USB、Lightning以及USB-C三种接口,满足了当时市…...

O2OA(翱途)开发平台如何在流程表单中使用基于Vue的ElementUI组件?

本文主要介绍如何在O2OA中进行审批流程表单或者工作流表单设计,O2OA主要采用拖拽可视化开发的方式完成流程表单的设计和配置,不需要过多的代码编写,业务人员可以直接进行修改操作。 在流程表单设计界面,可以在左边的工具栏找到Ele…...

0 OpenHarmony开源鸿蒙NEXT星河版内核嵌入式编程

开源鸿蒙NEXT星河版内核嵌入式编程 作者将狼才鲸创建日期2024-03-08 CSDN文章阅读地址Gitee文章下载地址 一、前景提要 2024年1月18日,华为放出HarmonyOS NEXT 鸿蒙星河版开发者预览版本(不是HarmonyOS NEXT版,是HarmonyOS NEXT星河版&…...

Vue | 基于 vue-admin-template 项目的跨域问题解决方法

目录 一、现存问题 二、解决方法 2.1 修改的第一个地方 2.2 修改的第二个地方 2.3 修改的第三个地方 自存 一、现存问题 报错截图如下: 二、解决方法 2.1 修改的第一个地方 在 .env.development 文件中: # base api # VUE_APP_BASE_API /d…...

mutex 和 channel 哪一个工作效率更高?

关于Rust中mutex和channel哪一个工作效率更高的问题,实际上并没有一个绝对的答案,因为效率的高低取决于具体的使用场景和需求。 互斥锁(mutex)主要用于保护共享资源,确保一次只有一个线程可以访问它。当需要多个线程同…...

Elasticsearch 通过索引阻塞实现数据保护深入解析

Elasticsearch 是一种强大的搜索和分析引擎,被广泛用于各种应用中,以其强大的全文搜索能力而著称。 不过,在日常管理 Elasticsearch 时,我们经常需要对索引进行保护,以防止数据被意外修改或删除,特别是在进…...

备考银行科技岗刷题笔记(持续更新版)

银行考试计算机部分复习 IEEE 802.11的帧格式 1.1 IEEE 802.11是什么? 802.11是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。目前在802.11的基础上开发出了802.11a、802.11b、802.11g、802.11n、802.11ac。并且为了保证802.11更…...

代码随想录算法训练营第五十五天|583. 两个字符串的删除操作、72. 编辑距离。

583. 两个字符串的删除操作 题目链接:两个字符串的删除操作 题目描述: 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 解题思路: 1、确定dp数组&#x…...

Softmax 回归 + 损失函数 + 图片分类数据集【动手学深度学习v2】李沐动手学深度学习课程笔记

目录 Softmax回归 损失函数 图片分类数据集 Softmax回归从零开始实现 Softmax回归简洁实现 Softmax回归 回归和分类的区别 回归问题举例上节课的预测房价问题,分类问题就是对样本进行分类 回归和分类的具体区别 假设真实的类别为第i个类别(值为1&#x…...

git 初始化项目并上传到github

如果还没配置过,需要配置账号信息 git config --global user.name "baymax-collab" git config --global user.email "baymax-collabtest.com"创建一个新的存储库 git clone gitgithub.com:xxxx cd test git switch --create main touch READ…...

前端javascript的DOM对象操作技巧,全场景解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:前端泛海 景天的主页:景天科技苑 文章目录 1.js的DOM介绍2.节点元素层级关系3.通过js修改,清空节点…...

TCP包头、TCP为什么安全可靠、UDP和TCP的区别、http协议

我要成为嵌入式高手之3月8日Linux高编第十八天!! __________________________________________________ 学习笔记 TPC包头 1、序号 发送端发送数据包的编号 2、确认号 已经确认接收到的数据的编号,只有当ACK为1时,该位才有用 …...

Android使用WebView打开内嵌H5网页

Android打开外部网页链接请参考上一篇文章 https://public.blog.csdn.net/article/details/136384559 继上篇,新建assets文章夹,将H5的网页资源放到此文件夹下 把H5的资源文件都拷进来 这个时候,将添加打开本地网页的代码: //打…...

UDP实现文件的发送、UDP实现全双工的聊天、TCP通信协议

我要成为嵌入式高手之3月7日Linux高编第十七天!! ———————————————————————————— 回顾 重要程序 1、UDP实现文件的发送 发端: #include "head.h"int main(void) {int sockfd 0;struct sockaddr_i…...

Yocto - Project Quick Build

欢迎光临! 这篇简短的文档将向您介绍使用 Yocto 项目构建典型镜像的过程。本文还介绍了如何为特定硬件配置构建。您将使用 Yocto Project 构建一个名为 Poky 的参考嵌入式操作系统。 Welcome! This short document steps you through the process for a typical i…...

Nginx配置踩坑实录:从403 Forbidden到优雅重定向,我的半天调试经历

Nginx配置踩坑实录:从403 Forbidden到优雅重定向的调试之旅 那天下午的阳光透过窗户斜射进来,我正对着屏幕上那个刺眼的403 Forbidden错误发呆。这已经是第三次部署Vue项目时遇到这个问题了——明明本地开发环境一切正常,为什么一到Nginx就频…...

图论——拓扑排序(python)

思路:统计节点的入度,将入度为0的节点放入队列中,循环出队。对于出队元素,找到它指向的所有元素,将所指向的元素的入度减一。#拓扑排序 from collections import deque def topologicalOrder(graph,indegree,n):qdeque…...

EmojiOne Color彩色字体:3分钟掌握1800+表情的终极解决方案

EmojiOne Color彩色字体:3分钟掌握1800表情的终极解决方案 【免费下载链接】emojione-color OpenType-SVG font of EmojiOne 2.3 项目地址: https://gitcode.com/gh_mirrors/em/emojione-color 想要在网站、应用或设计作品中添加生动有趣的彩色表情符号吗&am…...

Excel跨表格查找神器:VLOOKUP+粘贴链接实现数据自动同步(附避坑指南)

Excel跨表格动态同步:VLOOKUP与粘贴链接的进阶组合技 每次手动复制粘贴不同表格的数据,不仅耗时费力,还容易出错。想象一下,当源数据更新时,所有关联表格能自动同步变化,这才是高效办公的真谛。今天要分享的…...

告别资源冗余!用Unity Addressable的Analyze工具优化你的Bundle包依赖

深度优化Unity项目资源管理:Addressable Analyze工具实战指南 在大型Unity项目开发中,资源管理一直是困扰开发者的核心痛点之一。随着项目规模扩大,资源数量呈指数级增长,传统的Resources文件夹加载方式早已无法满足现代游戏开发的…...

如何用BabelDOC轻松解决PDF翻译难题:5步完整指南

如何用BabelDOC轻松解决PDF翻译难题:5步完整指南 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 你是否曾为翻译PDF文档而烦恼?格式错乱、公式丢失、表格变形——这些问…...

不止于仿真:如何将Prescan十字路口碰撞结果导入Python进行数据分析与可视化(附代码)

从仿真到决策:Prescan十字路口碰撞数据的Python深度分析实战 在自动驾驶系统开发过程中,仿真测试是不可或缺的关键环节。Prescan与Simulink的强强联合为工程师们提供了高效的虚拟测试环境,但仿真结束后的数据分析往往被忽视。本文将带您突破传…...

遥感图像融合避坑指南:为什么你的模型总有光谱畸变?从TFNet论文看特征域融合的优越性

遥感图像融合避坑指南:为什么你的模型总有光谱畸变?从TFNet论文看特征域融合的优越性 当你在卫星图像处理项目中反复调试参数,却发现融合结果总是出现色彩失真或边缘模糊时,问题很可能出在传统方法对图像域融合的过度依赖上。2020…...

SDK转H5网页支付接口开发|支持URL跳转唤起App,Python与易语言双版本源码

温馨提示:文末有联系方式一、什么是SDK转H5支付 SDK转H5支付,是指将原本面向原生App的移动端SDK能力,适配封装为标准HTTP协议的网页支付链接(即H5支付URL),使用户在浏览器或WebView中点击即可跳转至收银台完…...

避坑指南:辰华CHI软件宏命令(Macro Command)编写与调试的5个常见错误

辰华CHI宏命令实战避坑手册:5个高频错误解析与调试技巧 在电化学测试领域,辰华CHI软件的宏命令功能一直是科研人员的得力助手,但就像任何强大的工具一样,它也可能成为效率黑洞——当你在凌晨三点的实验室里,面对满屏红…...