0

我正在尝试使用此查询脚本来搜索 mysql 数据库 http://www.ar-php.org/Examples/ArQuery.php

我只在表中搜索一列..但每一行在该列中有大约 3000 个字符长的文本..我现在只添加了 100 行,但它已经放慢了..

如果我有这样的一百万行,这个脚本会不可用吗?

我应该采取什么路线才能使用此脚本并拥有数百万行长文本..

我的查询如下所示:

SELECT * FROM articlesWHERE ( REPLACE(text, 'ـ', '') 正则表达式 '(كَ|كِ|كُ|كً|كٍ|كٌ|كْ|كّ|كَّ|كِّ|كُّ|كًّ|كٍّ|كٌّ|ك)( يَ|يِ|يُ|يً|يٍ|يٌ|يْ|يّ|يَّ|يِّ|يُّ|يًّ|يٍّ|يٌّ|ي)(فَ|فِ|فُ|فً|فٍ|فٌ|فْ|فّ|فَّ|فِّ |فُّ|فًّ|فٍّ|فٌّ|ف)')

SELECT * FROM articlesWHERE ( REPLACE(text, 'ـ', '') 正则表达式 'hell(ö|o|ô|Ö|O|Ô)')

4

1 回答 1

1

@ali haydar

我绝对建议使用全文索引和相关的 MySql 函数。正则表达式对于相对较小的文本非常有效,但不适用于在数据库中搜索。全文索引就是为此目的而设计的,它使用极其高效的数据结构来最小化磁盘 I/O 并在大数据中快速搜索。

希望这可以帮助。

于 2012-10-27T18:55:33.740 回答