Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MongoDB变得非常慢_Php_Performance_Mongodb_Search - Fatal编程技术网

Php MongoDB变得非常慢

Php MongoDB变得非常慢,php,performance,mongodb,search,Php,Performance,Mongodb,Search,我有一个网站,搜索网站的源代码。但当DB获得超过100个站点时,mongodb的工作速度就开始变慢 这是我的密码: $arananlar = $db->kaynaklar->find(array("kaynak" => new MongoRegex("/".$kelime."/siU")))->sort(array("_id" => -1))->limit($kactane)->skip($alt); 通常加速搜索的方法是添加索引。但是,当您使用正则表

我有一个网站,搜索网站的源代码。但当DB获得超过100个站点时,mongodb的工作速度就开始变慢

这是我的密码:

$arananlar = $db->kaynaklar->find(array("kaynak" => new MongoRegex("/".$kelime."/siU")))->sort(array("_id" => -1))->limit($kactane)->skip($alt);

通常加速搜索的方法是添加索引。但是,当您使用正则表达式时,索引没有帮助。只有当你确切地知道你在搜索什么时,索引才对你有帮助。但是正则表达式要复杂得多。他们需要读取每个字符串的全部内容以进行匹配()

但是,当您不需要正则表达式的全部功能而只搜索完整的单词时


当您想知道某个特定查询是否使用索引时,可以使用光标的explain方法。

不知道$kelime中有什么,很难知道发生了什么。我使用两个用户窗口,和“编码”窗口,但我删除了空格,并在没有多余单词或不必要空格的源代码中进行搜索。@Serhat很抱歉,但我不明白您的评论与我的答案有什么关系。请澄清。@SER当你自己用与我的答案不同的方法解决问题时,你应该自己写另一个答案,以便其他人可以从你的经验中学习。回答你自己的问题在这里不是不受欢迎的,甚至是受到鼓励的。谢谢你,你的回答,我不记得我是如何解决的。你也是对的,我应该在这里写信回答。很抱歉