【发布时间】:2019-10-18 13:02:15
【问题描述】:
我正在开发一个项目,该项目使用 PHP/MYSQL 作为 IOS 应用程序的后端,该应用程序大量使用包含文本或字符串的字典和数组。
我需要将此文本存储在 MYSQL 中(来自 Arrays of srstrings on phone),然后查询以查看文本是否包含(不区分大小写)有问题的单词或短语。
例如,如果数组包含 {Ford, Chevy, Toyota, BMW, Buick},我可能想查询它以查看它是否包含 Saab。
我知道在字段中存储数组对 MYSQL 不友好,因为它会妨碍优化。但是,为这些由用户创建的单词集合创建单独的表太复杂了。
所以我正在寻找一种合理的方式来存储它们,也许用空格或逗号分隔,这样可以实现合理有效的搜索。
如果它们以空格分隔,我认为您可以使用正则表达式执行以下操作:
SELECT
*
FROM
`wordgroups`
WHERE
wordgroup regexp '(^|[[:space:]])BLA([[:space:]]|$)';
但这看起来很时髦。
有没有更好的方法来做到这一点?感谢您提供任何见解
【问题讨论】: