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

mysql8多值索引

  MySQL8新出了一个多值索引,我还没体验过呢,今天试一试。

建表

  我先建个表试一试多值索引的效果。我粗略地看了下多值索引的介绍,发现是只适用于数组类型的。所以我建一个含有数组字段的表试一试。语法还是挺麻烦的:

create table student(id bigint primary key auto_increment,name varchar(32),tags JSON,index student_tags((cast(json_extract(`tags`, _utf8mb4'$') as char(32) array)))
);

测试

  我插入数据试一试,如下:

insert into student(name, tags) value ('小张', '["女生","成绩差"]');
select * from student where '女生' member of (tags);

  果然能查出数据。
在这里插入图片描述
  但是还是要看看执行计划,我对比了两种写法,一个是用json的路径,虽然我的数组是保存在json的根路径下,但是我还是写一个$符号代表根。

explain select * from student where '女生' member of (tags->'$');

  从结果上看,是用到了索引。
在这里插入图片描述
  但是如果不使用$符号,就没命中索引。SQL改成:

explain select * from student where '女生' member of (tags);

在这里插入图片描述

原因

  出现那种情况,跟我创建索引的语句有关,我现在换种写法建个新表:

create table student1(id bigint primary key auto_increment,name varchar(32),tags JSON,index student_tags((cast((`tags`) as char(32) array)))
);
insert into student1(name, tags) value ('小张', '["女生","成绩差"]');
explain select * from student1 where '女生' member of (tags);

  这个执行计划就显示命中了索引:
在这里插入图片描述

相关文章:

mysql8多值索引

MySQL8新出了一个多值索引,我还没体验过呢,今天试一试。 建表 我先建个表试一试多值索引的效果。我粗略地看了下多值索引的介绍,发现是只适用于数组类型的。所以我建一个含有数组字段的表试一试。语法还是挺麻烦的: create tabl…...

MT3055 交换排列

1.思路 若数对为(1,4)和(4,7),则说明14可以互换,47可以互换,并且17也可以互换。所以把可以交换的元素放到一个集合中。 例如样例1:有三个集合,…...

Zkeys三方登录模块支持QQ、支付宝登录

1,覆盖到根目录,并导入update.sql数据库文件到Zkeys数据库里 2. 后台系统权限管理,配置管理员权限-系统类别-找到云外科技,全部打勾 3,后台系统设置找到云外快捷登录模块填写相应的插件授权配置和登录权限配置&#x…...

数字探秘:用神经网络解密MNIST数据集中的数字!

用神经网络解密MNIST数据集中的数字! 一. 介绍1.1 MNIST数据集简介1.2 MLP(多层感知器)模型介绍1.3 目标:使用MLP模型对MNIST数据集中的0-9数字进行分类 二.数据预处理2.1 数据集的获取与加载2.2 数据集的探索性分析(E…...

11个IT运维领域必考证书,每一个都含金量极高

这几年,网络方向里,IT运维其实还是挺吃香的。 运维人员的职责不仅仅是确保系统的正常运行,还需要应对突发事件、优化性能以及保障信息安全。 面对如此复杂的工作环境,拥有专业认证不仅是对自身技能的肯定,更是提升职业…...

VScode 常用插件

基础开发插件 Chinese (Simplified)(简体中文语言包):这是适用于VS Code的中文(简体)语言包,适用于英语不太流利的用户。Auto Rename Tag:这个插件可以同步修改HTML/XML标签,当用户修…...

299k stars利用Public APIs提升开发效率:探索APILayer提供的开源资源

299k stars利用Public APIs提升开发效率:探索APILayer提供的开源资源 在现代软件开发中,API(应用程序接口)是实现应用间通信和功能扩展的关键工具。公共API(Public APIs)则为开发者提供了宝贵的资源&#…...

在目标检测数据集上微调Florence-2

Florence-2是由微软开源的轻量级视觉-语言模型,采用MIT许可。该模型在任务如图像描述、目标检测、定位和分割中展示了强大的零样本和微调能力。 图1。图示展示了每个任务所表达的空间层次和语义细粒度水平。来源:Florence-2:推进多种视觉任务的统一表示。 该模型将图…...

AI提示词:AI辅导「数学作业」

辅导孩子作业对许多家长来说可能是一件头疼的事,但这部分工作可以在一定程度上交给AI来完成。 打开ChatGPT4,输入以下内容: # Role 数学辅导专家## Profile - author: 姜小尘 - version: 02 - LLM: Kimi - language: 中文 - description: 专门为小学生…...

odoo文档的安装

步骤 1: 安装必要的软件 确保你已经安装了Git和Python 3.6、3.7或3.8之一。 步骤 2: 克隆 Odoo 文档存储库 打开终端,然后使用Git克隆Odoo的文档存储库。 git clone https://github.com/odoo/documentation.git cd documentation步骤 3: 安装 Python 依赖项 …...

02STM32软件安装新建工程

STM32软件安装&新建工程 1.软件安装:1.1Keil5 MDK安装1.2安装器件支持包离线安装支持包在线安装支持包 1.3软件注册:1.4安装驱动STLINK驱动JLink驱动在此文件夹下USB转串口 2.新建工程2.1STM32开发方式:1.寄存器2.标准库3.HAL库 固件库压…...

社区6月月报 | Apache DolphinScheduler重要修复和优化记录

各位热爱Apache DolphinScheduler的小伙伴们,社区6月月报更新啦!这里将记录Apache DolphinScheduler社区每月的重要更新,欢迎关注。 月度Merge Stars 感谢以下小伙伴上个月为Apache DolphinScheduler所做的精彩贡献(排名不分先后…...

Docker 使用基础(2)—镜像

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:秒針を噛む—ずっと真夜中でいいのに。 0:34━━━━━━️💟──────── 4:20 🔄 ◀️ ⏸ …...

Docker学习笔记(三)Dockerfile

一、什么是Dockerfile Dockerfile 是一个用于自动化构建 Docker 镜像的文本文件,其中包含了从一个基础镜像开始,到最终形成所需定制镜像的所有指令集。这个文件中的每一条指令都对应着构建镜像过程中的一个步骤或一层,指导 Docker 如何安装软…...

学懂C#编程:C# 索引器(Indexer)的概念及用法

C#中的索引器(Indexer)是一种特殊的成员,它允许类或结构的实例像数组那样通过索引来访问其内部的数据。索引器提供了一种灵活的方式来暴露集合或数组类型的内部数据,使得客户端代码可以使用类似于数组下标的语法来访问类的成员&am…...

汇川CodeSysPLC教程03-2-14 与HMI通信

硬件连接 PLC与HMI连接采用何种连接方式,通常是参考双方支持哪些接口。PLC(可编程逻辑控制器)与HMI(人机界面)之间的通讯方式主要有以下几种: 串行通讯(Serial Communication)&…...

centos部署jar包

第一步: 将IDEA中的项目打包为jar,将这个jar文件放到centos服务器上的目录里,我在opt新建api目录,将jar文件放入,如下图: 第二步: 将需要读取的配置文件也放入此目录(其他目录也可以,和脚本中…...

CSS相对定位和绝对定位的区别

CSS相对定位和绝对定位的区别 区别1:相对的对象不同 相对定位是相对于自己绝对定位是相对于离自己最近的有定位的祖先 区别2:是否会脱离文档流 相对定位不会脱离文档流,不会影响其他元素的位置绝对定位会脱离文档流,会影响其他元素的布局 代…...

SpringCloud之nacos共享配置文件实现多数据源灵活切换

目录 前言 1.引入Springboot相关的aop切面依赖 2.创建自定义注解DataSourceKey 3.创建对ThreadLocal类 4.创建aop切面 5.创建动态数据源类 6.创建多数据库连接配置类 7.关键代码讲解 8.nacos主要配置 前言 通过Spring AOP(面向切面编程)的功能来动…...

原生小程序生成二维码方法之一

效果图&#xff1a; 第一步&#xff1a;下载对应的包并构建&#xff08;工具---》构建npm&#xff09; npm install weapp-qrcode --save 第二步&#xff1a;在wxml页面声明canvas <canvas style"width: 200px; height: 200px;margin:0 auto;" canvas-id"myQ…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...