如何优化Mysql执行查询数据的速度
在项目中数据量小的情况下使用like查询速度还行,但是随着数据一天一天增加,再使用like进行模糊查询的时候速度上就会显得比较慢,现提供两套解决方案:
问题:
使用like查询效率很慢
select inner_id,title from news_info where title like ‘%齐鲁壹点%’;
方案一:
使用mysql数据库全文检索的功能;
1.首先我的表默认是:innoDB,这种表的类型不支持全文检索,所以要先改变其类型为MyISAM。
alter news_info title engine=MyISAM;
2.然后要在对应的要进行查找的字段上面建立全文检索的索引:
alter news_info add fulltext index(title);
如果要同时对多个字段进行检索可以这样:
alter news_info add fulltext index(title,source);
这样就可以去检索字段:
select inner_id,title from news_info where match(title) against(‘齐鲁壹点’) ;
或者多字段:
select inner_id,title from news_info where match(title,source) against(‘齐鲁壹点’);
问题来了,没有结果,经过查询得知MySQL全文检索默认不支持中文,且对英文检索时忽略大小写
需要修改表结构增加拼音字段,将索引字段中文转化成拼音,java方法比较好实现;
方案二:
使用缓存技术(redis);
1.将查询出来的结果放在redis缓存中;
2.查询时判断redis中是否有对应的数据,有的话直接返回,没有的话将数据执行1;
总结:
使用方案一需要修改现有的数据库表结构,有一定的风险性;
使用方案二不影响数据库表结果,修改查询方法即可,但是首次查询关键字的时候会比较慢,再次查询的时候查询速度会很快;使用这样方式可以将信息发布的时候直接放在redis里面,查询时直接查询redis
转载于:https://www.cnblogs.com/luweiwei/p/5320804.html
如何优化Mysql执行查询数据的速度相关推荐
- mysql2013年8月怎么打出来_2020年8月31日,上周完成了一个查询接口来检查mysql的数据,速度很慢,20200831,从,MySQL,中查,贼...
2020-08-31 上周完成一个查询接口,从MySQL中查数据,速度贼慢, 原因是数据5000万+,所以真正接触优化的机会来了,所以决定好好研究一下,做一个记录. 事情是这样的,mysql表中只有两 ...
- 面试官问:在读多写少的情况下,如何优化 MySQL 的数据查询方案
作者 | 面试官问 责编 | 张文 来源 | 面试官问(ID:interviewer_asked) 面试官问:假设你负责的某业务在双十一期间要搞运营活动,公司投入了大量的营销费用进行推广,此举 ...
- mysql怎么加快搜索_优化mysql数据库 提高检索速度
在优化查询中,数据库应用(如MySQL)即意味着对工具的操作与使用.使用索引.使用EXPLAIN分析查询以及调整MySQL的内部配置可达到优化查询的目的. 任何一位数据库程序员都会有这样的体会:高通信 ...
- 优化mysql插入数据_优化MySQL插入方法的五个妙招
以下是涉及到插入表格的查询的5种改进方法: 1)使用LOAD DATA INFILE从文本下载数据这将比使用插入语句快20倍. 2)使用带有多个VALUES列表的INSERT语句一次插入几行这将比使用 ...
- 如何加快mysql导入数据的速度
我们在初始化数据时,如果数据量比较大的话,比如一个初始化 sql文件有3G,导入的速度一般比较慢,为了加速导入的速度,我们可以通过修改2个参数配置(针对存储引擎为innerdb): (1)临时关掉in ...
- MySQL 数据存储和优化------MySQL架构原理 ---- (架构---索引---事务---锁---集群---性能---分库分表---实战---运维)持续更新
Mysql架构体系全系列文章主目录(进不去说明还没写完)https://blog.csdn.net/grd_java/article/details/123033016 本文只是整个系列笔记的第一章: ...
- MySQL百万数据优化总结 一
测试的数据库配置 数据库配置阿里云RDS 存储类型 ESSD PL1 云盘 数据库内存 1024 M 数据库类型 MySQL8.0 CPU 1 核 MySQL8.0 中文参考手册:MySQL8.0中文 ...
- pymysq向mysql写数据 为什么本地无法查看_从运维角度浅谈MySQL数据库优化,中小企业DBA必会...
原文:http://www.enmotech.com/web/detail/1/712/1.html(复制链接,打开浏览器即可查看原文) 作者:搬砖游击队 一个成熟的数据库架构并不是一开始设计就具备高 ...
- mysql 大量数据 更改索引_Mysql索引数据结构详解与索引优化
本篇文章主要学习了MySQL的索引的数据结构的认识,做一个大概的了解即可. 一.索引 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储数据结构,它是某个表中一列或若 ...
最新文章
- 创建一个触发器新增字段的时候设置某个字段的值
- 比较某两个时间的时间戳相等
- LeetCode Remove Nth Node From End of List
- 恢复Cisco3640的IOS
- python基础(part14)--异常处理
- Spring 创建对象的方式
- 几个不错的开源的.net界面控件[转贴]
- 中国通用测试设备(GPTE)行业市场供需与战略研究报告
- 微信开发,自定义菜单不生效怎么办?重新关注也无效
- 想起纽微特期间的一次版本事故
- 台式计算机主板,台式电脑主板开机过程详解
- 2014全国计算机二级visual foxpro,全国计算机等级考试二级visual_foxpro试题
- 冯诺依曼体系结构及三级缓存
- java操作word替换文字和在固定位置插入表格
- 云计算是什么,云计算发展现状是什么?
- 动态规划——计算二项式系数问题
- 镜头的焦距与视场角简介!
- python实现Content-Type: multipart/form-data; boundary=xxx接口的调用
- ask信号调制matlab,基于Matlab的ASK数字调制系统仿真
- 离散数学 集合 思维导图