mysql模糊查询优化

mysql模糊查询优化

一、合理使用索引

如下SQL举例:
SELECT username,age FROM WHERE username LIKE ‘hysen%’
如果username字段有索引,前缀匹配会走索引,如 ‘%hysen’或’%hysen%’ 则无法走索引。

二、使用反向索引

对于需要使用后缀匹配的情况(如:‘%hysen’或’%hysen%’ ),可以创建一个辅助列 用来存储反转字符串,并基于此列进行前缀匹配(如此则相对于非反转字符串的后缀匹配),以此来实现该需求

ALTER TABLE users ADD reversed_username VARCHAR(255);
UPDATE users SET reversed_username =REVERSE(username);
CREATE INDEX idx_reversed username ON users(reversed_username);

三、限制扫描范围

在LIKE查询中,如果可以通过其他条件进一步缩小查询范围,则尽量先缩小范围,再进行LIKE查询 如
SELECT username FROM users WHERE age >=‘18’ AND username LIKE
hysen%';

四、使用全文本搜索引擎

使用全文本搜索引擎:对于需要模糊匹配的查询,可以考虑使用全文本搜索引擎,如MySQL的全文本搜索功能或者Elasticsearch、Solr、Sphinx等,来提高查询效率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决关于HTML+JS + Servlet 实现前后端请求Session不一致的问题

1、前后端不分离情况 在处理session过程中,如果前后端项目在一个容器中,session是可以被获取的。例如如下项目结构: 结构 后端的代码是基本的设置值、获取值、销毁值的内容: 运行结果 由此可见,在前后统一的项目中&a…

Redis 配置小插曲

前言:当今,我们进行后端部署redis时候,总是会遇到各种问题,这不今天就发现了,redis在下载下来的时候,redis.windows.conf,文件中,默认是没有为redis配置密码才被允许进行登录的&…

《Linux从小白到高手》综合应用篇:详解Linux系统调优之服务器硬件优化

List item 本篇介绍Linux服务器硬件调优。硬件调优主要包括CPU、内存、磁盘、网络等关键硬件组。 1. CPU优化 选择适合的CPU: –根据应用需求选择多核、高频的CPU,以满足高并发和计算密集型任务的需求。CPU缓存优化: –确保CPU缓存&#x…

Go语言反射机制详解:通过反射获取结构体的字段和方法

在Go语言中,反射(Reflection) 是一种强大的工具,允许我们在程序运行时动态地检查和修改变量的类型、 反射在很多场景中都有广泛的应用,如ORM(对象关系映射)框架、序列化与反序列化工具等。 一、…

SAP导出excel报错:发现“EXPORT.XLSX“中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击“是”。

1.问题描述:SAP报表程序导出excel的时报错 2.问题原因 文本信息中包含了非法符号(SAP不认识的符号) 比如:NLSY10 3.解决方式,把这个文本信息特殊符号去掉,就可以恢复正常了。 怎么找这个特殊符号&#…

2019年计算机网络408真题解析

第一题: 解析:OSI参考模型第5层完成的功能 首先,我们需要对OSI参考模型很熟悉:从下到上依次是:物理层-数据链路层-网络层- 运输层-会话层-表示层-应用层,由此可知,题目要问的是会话层的主要功能…

第十五章 RabbitMQ延迟消息之延迟插件

目录 一、引言 二、延迟插件安装 2.1. 下载插件 2.2. 安装插件 2.3. 确认插件是否生效 三、核心代码 四、运行效果 五、总结 一、引言 上一章我们讲到通过死信队列组合消息过期时间来实现延迟消息,但相对而言这并不是比较好的方式。它的代码实现相对来说比…

嵌入式开发:STM32 硬件 CRC 使用

测试平台:STM32G474系列 STM32硬件的CRC不占用MCU的资源,计算速度快。由于硬件CRC需要配置一些选项,配置不对就会导致计算结果错误,导致使用上没有软件计算CRC方便。但硬件CRC更快的速度在一些有时间资源要求的场合还是非…

编程的魅力

在数字时代的浪潮中,编程已成为连接现实与虚拟世界的桥梁,它不仅塑造了我们的生活方式,还深刻影响着科技进步的每一步。编程,这一看似复杂而神秘的领域,实则蕴含着无限的创造力和可能性。本文将深入探讨编程的魅力、基…

R语言中,.RData 和 .rds 的区别

.RData 和 .rds 是 R 语言中两种不同的数据保存格式,二者有一些关键的区别: 1. 存储内容的类型: .RData 文件:可以同时保存多个对象(如数据框、向量、列表等),当你加载 .RData 文件时&#xf…

使用python批量替换文件夹文件名(已亲测)

1. 需要使用高版本的python,本机版本 3.12.4 2. 配置国内Python镜像源 常用的国内Python镜像源: 清华大学TUNA镜像源:这是非常受欢迎的一个镜像源,提供了高速且稳定的服务。 地址:https://pypi.tuna.tsinghua.edu.cn/simple 临时…

基于DCGM+Prometheus+Grafana的GPU监控方案

目录 前言一、指标导出器1、DCGM:获取远程节点的信息 2、 DCGM-Exporter收集多节点信息更改收集指标 二、 Prometheus - From metrics to insight修改配置文件查看收集结果 三、Grafana仪表板展示导入数据源创建仪表板更多仪表板 前言 基于DCGM(NVIDIA …

DNS安全概述

一、DNS的解析过程 1.递归解析 递归解析是一种由DNS客户端(通常是用户的应用程序,如一个浏览器)向本地DNS解析器发出解析请求,然后本地DNS解析器负责查询最终结果并将结果返回给客户端,而中间的所有查询请求都由本地D…

LabVIEW空间相机测控系统

空间相机是遥感技术中的核心设备,其在太空中的性能对任务的成功至关重要。为了确保空间相机能够在极端环境下稳定工作,地面模拟测试成为必不可少的环节。LabVIEW开发的空间相机测控系统,通过对温度、应力和应变等参数进行高精度测量&#xff…

云贝教育 |【技术文章】OpenTenBase_V2.6基于麒麟V10源码编译安装

本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 前言:什么是OpenTenBase OpenTenBase 是一个提供写可靠性,多主节点数据同步的关系数据库集群平台。你可以…

LabVIEW智能可变温循环PCT测试系统

随着全球能源危机的加剧和环境保护需求的提升,开发和利用清洁能源已成为全球必然趋势。氢能作为一种高效的替代能源,正逐步受到关注。然而,储氢技术的研究至关重要,尤其是储氢材料的PCT(Pressure-Composition-Temperat…

Python数据分析库pandas高级接口dt的使用

文章目录 Pandas介绍使用示例dt.date()Pandas介绍 Pandas是一个强大的数据分析库,其中dt是Pandas的一个高级接口,用于处理日期和时间数据。dt提供了许多实用的方法和属性,可以轻松地处理日期和时间。 使用示例 下面是一些常用的dt方法和属性的使用示例: 获取日期和时间组…

iTOP-3A5000主控板龙芯自主指令系统外加机箱就是一台电脑主机

性能强采用全国产龙芯3A5000处理器,基于龙芯自主指令系统 (LoongArch)的LA464微结构,并进一步提升频率,降低功耗,优化性能。桥片采用龙芯 7A2000,支持PCIE 3.0、USB 3.0和 SATA 3.0.显示接口2 路、HDMI 和1路 VGA&…

sql数据库命令行操作(数据库的增删改查)

查询数据库 查询电脑里面所有数据库 SHOW DATABASES;查询当前所处的数据库 SELECT DATABASE();应用场景:当我使用了USE命令后不知道自己所在哪个数据库时,可以使用这个命令查询自己所在数据库 创建数据库 创建 CREATE DATABASE [IF NOT EXISTS] 数据…

超好看PC管理门户及手机移动管理门户的模版,可方便快速二次开发

Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套管理后台模版并不容易,幸运的是有很多开源免费的管理后台模版可以给开发者使用。那么有哪些优秀的开源免费的管理后台模版呢? 以下是一些超火和超好看的管理后台模板,它们…