是不是我孤陋寡闻了,会有人真的在 MySql 里运行这样的查询吗?

152 天前
 unidotnet

这种 Non-Standard SQL 语法为什么还能活着

SELECT * FROM table1 
WHERE '你好啊这是一句用户输入的查询语句' LIKE CONCAT('%', table1.column1, '%');

当然不考虑 performance ,它是可以的,但是如果数据量大,就 GG 了吧?

8516 次点击
所在节点    数据库
67 条回复
tomatocici2333
152 天前
要结合业务场景来看得
zhouxelf
152 天前
看场景,大部分情况下不会
root71370
152 天前
神奇,还可以这么玩吗,这什么场景下用到?
ntedshen
152 天前
拿 sql 去匹配关键字是这样的。。。
想换写法就得去代码里做,但是自己写还见不得有这么跑一下快。。。
uibobo
152 天前
长知识了
paranoiagu
152 天前
以前经常这么干。
nzynzynzy
152 天前
我感觉很多 mysql 的论坛程序还是这样的
kneo
152 天前
gg 了就是学到了。不 gg 就你多管闲事。
billlee
152 天前
你就说需求有没有实现嘛。要不就加钱部署个全文搜索,要不就只能这么干了。
CapNemo
152 天前
怕不是某种敏感词检测?
zjsxwc
152 天前
学到了,这么写可以动态根据数据库预先设置的敏感词行,来检查用户输入的语句是否包含敏感词。
quietDown
152 天前
学到了,哈哈😄
weijancc
152 天前
长知识了.. 挺有趣的, 毕竟不是每个系统都是大数据互联网系统
realpg
152 天前
当年在北京时候搞 PHP 写系统

招聘来过一个面试的 之前写 JAVA 商业软件的 公司倒了 自学 PHP 来面试看我们给的多就投

面试题都很简单 考察一些习惯和性能掌握

我们面试题有一道 MYSQL 的不能直接查出来结果 要进行一次变换的

这个大哥吭吃瘪肚的 20 分钟 自己写了一条长达 2KB 的 SQL 语句一个语句卡 4 秒 兴致勃勃地显摆来了。。。
me1onsoda
152 天前
这不是很常见的做法?就为了这么点事儿你要再折腾一个 es ?
bestmos
152 天前
评论区到底学到什么了?为什么我没看懂这个 SQL 特殊在哪
mayli
152 天前
在数据量大之前,肯定有人可以重构的,但是现在一行就搞定了,先用着就行。
jeesk
152 天前
过早优化是万恶之源——克努特优化原则 (Knuth's optimization principle)

当你发现有性能瓶颈的时候再优化也不迟。
hvsy
152 天前
之前就用这种方式实现过一个小的简陋的敏感识别功能,敏感词的数量不多的情况下还挺凑合的
pytth
152 天前
从输入内容中提取关键词,标签,这个语句还是挺好用的

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

https://ex.noerr.eu.org/t/1115574

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

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

© 2021 V2EX