我正在尝试使用此查询脚本来搜索mysql数据库 http://www.ar-php.org/Examples/ArQuery.php
我只搜索表中的一列..但是每一行在该列中有大约3000个字符长的文本..我现在只添加了100行,但它已经放慢了..
如果我有这样的一百万行,这个脚本会无法使用吗?
我应该采取什么样的路线才能使用这个脚本并拥有数百万行长文本..
我的查询如下:
SELECT * FROM articles
WHERE(REPLACE(text,'','')REGEXP'(ك|ك|ك|ك|ك|ك|ك|ك|ك|ك|ك|ك |ك|ك|ك)(ي|ي|ي|ي|ي|ي|ي|ي|ي|ي|ي|ي|ي|ي|ي)(ف|ف|ف|ف|ف|ف |ف|ف|ف|ف|ف|ف|ف|ف|ف)')
SELECT * FROM articles
WHERE(REPLACE(text,'','')REGEXP'hell(ö| o |ô|Ö| O |Ô)')
答案 0 :(得分:1)
@ali haydar
我绝对建议使用Full Text索引和相关的MySql函数。正则表达式对于相对较小的文本而言是好的和有效的,但不适用于在数据库内搜索。全文索引是为此目的而设计的,它使用极其高效的数据结构来最小化磁盘I / O并在大数据内快速搜索。
希望这有帮助。