[英]Search a string for millions of terms with php
我有一個字符串,我需要使用PHP搜索,看看是否存在2-3百萬條款。 字符串可以是1000個字長,搜索字詞最長可達5個字。
我已經嘗試過strpos和strstr但執行時間超過60秒。
有人可以建議替代方案嗎?
到目前為止,我有以下內容:
$query = "SELECT City FROM cities";
$result = mysql_query($query);
if ($row = mysql_fetch_array($result)) {
do {
$city = " " . $row['City'] . " ";
if(strpos($string, $city)!== False) {
echo $city . "<br />\n";
}
} while ($row = mysql_fetch_array($result));
}
從PHP加載並提供給Mysql。
這里不是用循環中的PHP進行搜索,而是可以使用mysql LIKE函數來搜索字符串。
例如: 從城市中選擇城市LIKE %搜索文本%
如果你有更多的搜索文本,你可以使用OR開關或JOIN sql查詢來查找它們。
這將更快,您不需要60秒執行。
祝好運
- Sajith
我建議遵循:
O(1)
查找表
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.