将 mysql EXISTS 与常量字符串一起使用

Use mysql EXISTS with a const string

你能帮我理解 EXISTSIN 使用 mysql 的区别吗?
在我的应用程序中,我在查询中使用 IN, 因为我使用 memcached 来存储 IN 值,
所以我更快地找到 EXISTS, 例如:

String my_chached_string = Memecached.get('somekey')
"SELECT * FROM Table t WHERE t.fromId IN (" + my_chached_string + ")"

我的问题是,有没有办法以相同的方式使用 EXISTS,使用常量值?

谢谢

以下是一些常见的编码模式:

WHERE col = 'string'
WHERE col IN ('string') -- same as above
WHERE col IN ('string1', 'string2')
WHERE EXISTS ( SELECT * FROM tbl WHERE ... )

EXISTS 确实解决了不同的情况;我不明白你为什么把它扔进去。即使有一个等效的 EXISTS 模式,它也必然会降低效率。

这种模式非常低效:

WHERE col IN ( SELECT ... )

通常可以通过转换为 JOIN 来提高效率。