Py学习  »  DATABASE

搜索MySQL文本列的最佳方式

Miguel Moreira • 3 年前 • 1194 次点击  

我的产品存储在MySQL数据库中,这是一个Wordpress网站,但我的数据存储在自定义表中。我需要搜索产品,我目前面临一些性能问题,我希望有人能帮助我或为我指路。

由于我每天收到一个文件(*.csv)来更新我的所有产品(添加、更新或删除产品),我有一个读取文件和填充/更新表格的过程。在这个过程中,我添加了一个步骤来过滤数据,并将任何特殊字符替换为“非特殊”字符(例如:将“Ô替换为“a”)。

到目前为止,我已经有了一个与产品表(products)相关的表(products_search),我用这个表进行搜索。当用户搜索某个内容时,我修改输入以替换特殊字符,因此搜索将直接在表上进行。

问题是: 在“文本”列中搜索很慢,甚至在该列上添加索引。我现在正在这样搜索:

select * from products_search
     where description like %search_word_1%
        or description like %search_word_2% ... 

如果我得到一个结果,我将获得ID和产品表的关联,并获得可能需要向用户显示的所有信息。

寻找的解决方案: 我正在寻找一种在产品搜索表上搜索性能更好的方法。据我所知,wordpress搜索引擎只对“posts”表起作用。有什么方法可以更快地搜索吗?也许是使用插件,或者只是改变搜索的方式。

谢谢大家

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132373
 
1194 次点击  
文章 [ 1 ]  |  最新文章 3 年前