空想--让MYSQL安装双引擎SQL优化器

坑人的innodb_thread_concurrencyMYSQL的优化器是硬解析, 应用每次发往MYSQL的SQL是文本格式,需要编译,虽然时间不多,也就几百毫秒的事情,可架不住SQL的请求并发量啊!
 

为此数据库走了两条路线, 一条是ORACLE的缓存路线, 另外一条就是MYSQL的快速路线.

ORACLE是尽可能的深度编译,找出最快的执行计划(编译后的二进制代码),然后把它缓存在内存里,下一次就避免再编译,直接从内存里拿出来执行就是了.

MYSQL 路线是浅度编译,快速出成果! 所以大家都会觉得MYSQL优化器比较弱智.对存储过程支持很鸡肋!

其实MYSQL面对互联网购买的业务,简单,比较简单.只是并发量太大了,所以简单优化器也体现其价值.

我们可以通过编程,拦截手段在语法分析完后进行拦截,

或者SQL语句与参数分离后形成DIGEST. 我们拿着个SQL的DIGEST,

也就是ORACLE的SQL_ID. 然后对比我们内存缓存的SQL.没有得话扔回MYSQL只身的优化器去优化,然后去执行.

如果有的话,我们就从内存里找到SQL执行计划,再丢给执行器去执行.

然后我们采用命令方式把SQL送给深度优化器,产生多个优化结果,返回给DBA选择.DBA选择其中一条或多条. 存入内存里.

如果数据库关闭的时候,我们把内存里的编译结果,共享池持久化到磁盘上.

这点ORACLE没有! MYSQL有把数据缓存池持久的功能.

比如说我们用 ALTER SQL PARSE SELECT * FROM TABLE WHERE A=?

或者具体值. 然后返回多个执行计划 ID ;

使用命令 ALTER SQL SAVE PRANT ID IN (323423,324235234);

就把当前的SQL深度优化器产生多个执行计划保存在内存里.

最后我们提供个内存视图 查看目前缓存了哪些SQL语句? 每个SQL语句有多少个执行计划? 每个执行计划参数范围; 每个执行计划命中次数,最后一次命中时间.
 

最后我们还要提供命令对某个内存里的SQL进行清理

ALTER SQL DELETE BY DIGEST;

ALTER SQL DELETE PRANT BY ID;

最后是以MYSQL 插件形式开发和安装XXX.SO

为什么要这样子呢? 主要解决MYSQL弱智的优化器, 添加深度优化器有利用解决MYSQL对商业SQL的支持.目前这个市场由ORACLE坐头把交椅,PG为老二!

商业SQL 比如说计算工资等复杂数量的计算. 这些计算基本是离线状态计算,并不影响MYSQL互联网高并发SQL请求. 即使上生产环境,也是上的从库.

开发出来还是有点前景 为MYSQL社区做下贡献, 成为真正的MYSQL大佬级人物,是全球性质! 比ACE 老师们 荣耀高多了!

坑人的innodb_thread_concurrency

MYSQL分区NOW()不支持

MYSQL ROOT密码忘了怎么办?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【电路】500W 12V至220V的逆变器

本电路采用LT1073芯片DC-DC转换器,将1.5V电压升压到5V或12V。该IC有三个不同的版本,这取决于输出电压。两个具有5V和12V的固定输出电压,而最有趣的是,可以进行调整。该调整是通过两个电阻器的分压器,连接到…

有没有那种不烂大街的跨年文案?

​迎接新年的曙光:那些不落俗套的跨年文案 当钟声敲响,旧的一年逝去,新的一年悄然来临,我们总希望用一些特别的话语来表达对过去的怀念和对未来的期待。在这个信息爆炸的时代,许多跨年文案都已经被人们看过无数次&…

数据结构第十天(排序算法总结)

目录 前言 常数时间复杂度:O(1) 线性时间复杂度:O(n) 线性对数时间复杂度:O(n log n) 平方时间复杂度:O(n^2) 对数时间复杂度:O(log n) 前言 排序算法的学习可以告一段落了。但算法的学习永不停止。 今天&…

RBAC权限控制系统-手撸RBAC

手撸RBAC 一、概述 1、什么是RBAC RBAC(Role-Based Access Control)是一种访问控制机制,它基于角色的概念,将权限授予特定的角色,而不是直接授予个体用户。 这种模型允许管理员根据用户的角色来管理他们的权限&…

elementPlus实现动态表格单元格合并span-method方法总结

最近在做PC端需求的时候,需要把首列中相邻的同名称单元格合并。 我看了一下elementPlus官网中的table表格,span-method可以实现单元格合并。 我们先看一下官网的例子: 合并行或列 多行或多列共用一个数据时,可以合并行或列。 …

9.0 Zookeeper 节点特性

本章节介绍一下 zookeeper 的节点特性和简单使用场景,正是由于这些节点特性的存在使 zookeeper 开发出不同的场景应用。 1、同一级节点 key 名称是唯一的 实例: $ ls / $ create /runoob 2 已存在 /runoob 节点,再次创建会提示已经存在。 …

Mysql大表添加字段失败解决方案

背景 最近遇到一个问题,需要在user用户表千万级别数据中添加两个字段,发现老是加不上去,一直卡死。表数据量不仅大,而且是一个热点表,访问频率特别高,而且该表的访问是在一个大事务中。加字段的时候一直在…

Vue3大事件项目(ing)

文章目录 核心内容1.大事件项目介绍2.大事件项目创建3.Eslint配置代码风格4.配置代码检查工作流问题: pnpm lint是全量检查,耗时问题,历史问题 5.目录调整6.vue-router4 路由代码解析7.引入 Element Plus 组件库8.Pinia 构建仓库 和 持久化9.Pinia 仓库统一管理 核心内容 Vue3…

CX341A 安装驱动与刷固件

参考 驱动安装1 DPDK编译:支持Mellanox 25Gbps网卡 - 知乎 NVIDIA Mellanox CX网卡固件、驱动系列操作 - 知乎 驱动安装2 Mellanox网卡驱动安装指南 Mellanox OFED_崇尚匀速 追求极致的技术博客_51CTO博客 驱动与固件: 家用万兆网络指南 6 - 比…

3、生成式 AI 如何帮助您改进数据可视化图表

生成式 AI 如何帮助您改进数据可视化图表 使用生成式 AI 加速和增强数据可视化。 图像来源:DALLE 3 5 个关键要点: 数据可视化图表的基本结构使用 Python Altair 构建数据可视化图表使用 GitHub Copilot 加快图表生成速度使用 ChatGPT 为您的图表生成相关内容使用 DALL-E 将…

JCTC | 利用几何深度学习对蛋白质-配体结合pose进行等变灵活建模

Overview 该论文解决了药物开发中蛋白质-配体复合结构灵活建模的挑战。作者提出了一种名为FlexPose的新型深度学习框架,它可以直接对复杂结构进行建模,而不需要传统的采样和评分策略。 该模型结合了标量-向量双特征表示和 SE(3)等变网络设计来处理动态结…

[word] word表格内容自动编号 #经验分享#微信#其他

word表格内容自动编号 在表格中的内容怎么样自动编号?我们都知道Word表格和Excel表格有所不同,Excel表格可以轻松自动编号,那么在Word表格中如何自动编号呢? 1、选中内容后,点击段落-自动编号,选择其中一…

基于SSM的实习管理系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的实习管理系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring Spri…

【MATLAB】使用梯度提升树在回归预测任务中进行特征选择(深度学习的数据集处理)

1.梯度提升树在神经网络的应用 使用梯度提升树进行特征选择的好处在于可以得到特征的重要性分数,从而识别出对目标变量预测最具影响力的特征。这有助于简化模型并提高其泛化能力,减少过拟合的风险,并且可以加快模型训练和推理速度。此外&…

首个商业化的可用于神经退行性疾病研究的即用型SMN ELISA试剂盒

首个商业化的可用于神经退行性疾病研究的即用型SMN ELISA试剂盒 运动神经元生存蛋白(SMN)是一种约38kDa的蛋白质,主要由位于5q染色体端粒部分的SMN1基因产生。几乎相同的着丝粒拷贝(SMN2)也产生少量的全长SMN蛋白&…

大规模机器学习简介

1. 非线性回归问题 1.1 问题描述 我们有一组实验数据,每个实验都给出了输入和输出对 (Xn, Yn)。每个输入 是空间中的一个点,每个输出 是 空间中的一个点。这些数据点被假设为独立同分布(i.i.d)。 我们的目标是找到一个函数 fw&…

即插即用、简单有效的大语言模型推荐算法!港大联合百度推出RLMRec

论文链接: https://arxiv.org/abs/2310.15950 论文代码: https://github.com/HKUDS/RLMRec 实验室主页: https://sites.google.com/view/chaoh/group-join-us?authuser0 TLDR 本文从互信息最大化的理论角度出发,通过引入文本信号…

微信小程序的图片色彩分析,窃取主色调,调色板

1、在微信小程序中创建包管理器 package.json npm init -y 2、安装 Mini App Color Thief 包 npm i --save miniapp-color-thief 3、构建 npm 4、wxml <canvas canvas-id"myCanvas"></canvas> <button bindtap"chooseImage">chooseIm…

构造函数

1.构造基本概念 1.是成员函数的一种&#xff0c;名字与类名相同&#xff0c;可以有参数&#xff0c;不能有返回值&#xff08;void也不行&#xff09; 作用是对对象进行初始化&#xff0c;如给成员变量赋初值 2.如果定义类是没写构造函数&#xff0c;则编译器生成一个默认的…

在 Docker 中启动 ROS2 里的 rivz2 和 rqt 出现错误的解决方法

1. 出现错误&#xff1a; 运行 ros2 run rivz2 rivz2 &#xff0c;报错如下 &#xff1a; No protocol specified qt.qpa.xcb: could not connect to display :1 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was f…