各位大佬,有个奇葩的技术问题

202 天前
 ZeekChatCom

客户买了一套闭源的程序用于运营。MySQL 数据库用的是 CDB ,但是现在遇到一个问题:

因为那套程序对于数据库的优化明显不足,有一些很要命的慢查询拖慢整个库。于是,我们加了 2 个索引。性能问题暂时是解决了。

但是奇葩的是,这套程序会主动检测索引,然后给 DROP 掉。频繁的掉索引,我们就写了个定时任务去加索引。于是这套程序就是在不断的 add index 和 drop index, 因为刚开始频率不是很高,所以勉强能用。

但是最近每天的频率越来越高,导致不可用时间占比越来越多。到了无法忍受的地步。

我想的解决办法:给 CDB 这个用户去除索引的权限。但是程序会报错,无法运行。

现在想求教,有没有类似的中间件,可以在不修改代码的情况下,欺骗客户端,丢弃掉 drop index 的操作而不会报错?

8404 次点击
所在节点    MySQL
78 条回复
37Y37
202 天前
卧槽!这真他么的是个人才
evan9527
202 天前
天才,是不是提速要加钱。
lwldcr
202 天前
第一反应跟 2 楼一样 是不是等着别人跟他付费提速呢
cvbnt
202 天前
查了下 ProxySql 和 MaxScale 可以主动拦截掉指定语句
lidlesseye11
202 天前
hhhhh 神奇
不太懂但是可以搜索关键字 mysql proxy ,感觉应该可以解决你的问题
wunonglin
202 天前
不得不说,很牛逼
Erroad
202 天前
同意楼上,套层 mysql proxy ,在这层 proxy 里面过滤掉 drop 索引的 SQL
googlefans
202 天前
使用 SQL 代理中间件(如 ProxySQL )拦截并忽略 DROP INDEX 语句
pagxir
202 天前
mysql 不是开源,直接改源码
8eacekeep
202 天前
哈哈哈哈哈哈哈哈哈哈哈哈哈
ocsp
202 天前
开眼了!
kenvix
202 天前
明显是要你们加钱。推荐 ProxySQL
my3157
202 天前
说一个另类的方案, 类似破解软件的思路, 比如 java 写的可以用 JByteMod hook 掉判断
spiffing
202 天前
开眼界了
Int100
202 天前
??? 开拓眼界了
y1y1
202 天前
频率越来越高??
viking602
201 天前
无敌 哈哈哈哈哈 这是等着付费优化的
layxy
201 天前
这不是很明显的付费优化点吗
dododada
201 天前
命令触发器试试呢; plugin 是做 binlong 前后处理的,应该不行
dumbbell5kg
201 天前
写个 javaagent 改字节码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1112124

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX