大家好,我有一个数据查询问题,用了几个方法还是没有解决,特来请教。
我有一个包含新闻的数据表,其中有一个字段是存放该新闻的关键字的,以如下形式存放。
"关键字1;关键字2;关键字3;"其中分号是中文件全角的。
我现在有一个需求,就是查询这条新闻相似的新闻,就是用这个"关键字"来关联。于是我写了如下的SQL语句,一开始的时候还是可以使用的,但是用到现在越来越慢。特别奇怪的是,不是所有条都这样,有些新闻几乎就是要卡死,卡的不动。明显遇到了查询性能问题,特来请教大家如何解决这个问题。
这条语句我是用正则来解决新闻关键字相关联的情况。
select * from news where ID<>? and concat(';',Keywords,';') regexp concat(';(',replace(?,';','|'),');') and M_IsDelete=FALSE order by Datetime desc limit 0,5