Mysql递归查询优化记录
queryChildrenAreaInfo 函数
create function queryChildrenAreaInfo(areaId INT) returns varchar(1000)
begindeclare ids varchar(1000) default '';declare tempids varchar(1000);set tempids = areaId;while tempids is not null doset ids = CONCAT_WS(',',ids,tempids);select GROUP_CONCAT(id) into tempids from sys_menu where FIND_IN_SET(parent_id,tempids)>0; end while;return ids;
end
sql 场景是查询app一个模块下的所有权限
select m.*,IFNULL(mr.mid,0) as bind from (select * from sys_menu,(select queryChildrenAreaInfo(#{pid}) cids) t where FIND_IN_SET(id,cids) and category = 2) as m LEFT JOIN (select mid from sys_menu_role where rid =#{rid} ) mr on m.id = mr.mid order by m.type,m.sort desc
许久想起之前做的项目要用到,怕忘了
之前记得这语句一旦数据量大了很慢
1、在调用函数的时候,取个别名,在FIND_IN_SET中直接用,这样不用再去调一遍
2、只记得相关字段建立索引,那些字段忘了。
Mysql递归查询优化记录相关推荐
- psql where里有自定义函数慢_阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结...
MySQL优化概述 MySQL数据库常见的两个瓶颈是:CPU和I/O的瓶颈. CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候. 磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应 ...
- MySQL 慢查询优化
为什么查询速度会慢 1.慢是指一个查询的响应时间长.一个查询的过程: 客户端发送一条查询给服务器 服务器端先检查查询缓存,如果命中了缓存,则立可返回存储在缓存中的结果.否则进入下一个阶段 服务器端进行 ...
- mysql递归层次查询
mysql递归层次查询 最近在做一个从oracle数据库到mysql数据库的移植,遇到一个这样的问题 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT B ...
- php mysql查询例子_php mysql一个查询优化的简单例子
PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Apache使用,就更加Perfect了. 因此,需要做好对mysql的查询优化,下面通过一个简单的例子 ...
- 【MySQL】查询优化
[MySQL]查询优化 1. 优化目的与目标 1.1 为什么要进行查询优化 1.1 MySQL优化目标 2. 优化流程及思路 2.1 调优时你需要关注哪些指标 2.1 合理监控 2.3 MySQL优化 ...
- MySQL 的查询优化
说起 MySQL 的查询优化,相信大家收藏了一堆奇技淫巧:不能使用 SELECT *.不使用 NULL 字段.合理创建索引.为字段选择合适的数据类型-- 你是否真的理解这些优化技巧?是否理解其背后的工 ...
- php校友录毕业论文,基于WEB的同学校友录的设计(PHP,MySQL)(附答辩记录)
基于WEB的同学校友录的设计(PHP,MySQL)(附答辩记录)(选题审批表,任务书,开题报告,中期报告,毕业论文7700字,文献综述,答辩记录,成绩评定册) 摘 要:通过提供便捷的校友录平台和人性化 ...
- [MySQL实践] 实践记录
[MySQL实践] 实践记录 版权2019.5.17更新 MySQL MySQL各版本区别 一.选择的版本1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持. ...
- centos7安装mysql日志空白_centos7安装Mysql爬坑记录 - G
centos7安装Mysql爬坑记录 查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装任何 ...
- mysql查询死锁的次数_一次神奇的MySQL死锁排查记录
一次神奇的MySQL死锁排查记录 发布时间:2020-08-29 00:50:26 来源:脚本之家 阅读:135 作者:咖啡拿铁 背景 说起Mysql死锁,之前写过一次有关Mysql加锁的基本介绍,对 ...
最新文章
- lacp静态和动态区别_lacp静态与动态区别
- 存储程序(1)——MYSQL
- 论文 参考文献的格式说明
- 高中毕业怎么考计算机一级,30天以96分通过计算机等级考试,我是这样做的
- 查看硬件配置信息 lshw
- stata学习笔记|自相关处理问题
- 【HDU 5145】 NPY and girls(组合+莫队)
- 带你逐步深入了解SSM框架——淘淘商城项目之redis缓存
- ## Android Studio 开发(四)--蓝牙通信
- java mysql 语句中 大于 小于 等于 的写法
- 阿里云视频上传到抖音服务器
- poco不断重启?看这6点就够了
- Chrome调试以及选择清除缓存刷新
- list_ndarray_csr_lil占用空间比较
- 优化/提高modelsim的仿真速度
- 图片搜索淘宝商品api接口
- 如何在腾讯云服务器上安装安全狗提高网站安全解决方法总结
- 携程行程订单团队敏捷之旅
- 日期小写转大写的函数
- ABOV单片机空工程文件的创建-[MC96F6332D]
热门文章
- python好玩的代码-这10个Python项目超有趣!
- 商业创业计划书的21条重要事项
- 没有灵魂的微信小程序代码转支付宝小程序代码
- 生于资本,死于泡沫,review ofo衰亡
- 【测试开发】软件测试——测试用例设计测试分类详解
- python的localtime函数_python的内置函数time
- Head First Java ——我的Java入门书
- 消息通知调度服务器,mPaaS 服务端核心组件:消息推送 MPS 架构及流程设计
- [深度学习论文笔记][Depth Estimation] Depth Map Prediction from a Single Image using a Multi-Scale Deep Netw
- 外贸注意:出口这些新兴市场国家政策有变化