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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.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
Mysql 斯芬克斯得到了数百万的结果_Mysql_Performance_Sphinx - Fatal编程技术网

Mysql 斯芬克斯得到了数百万的结果

Mysql 斯芬克斯得到了数百万的结果,mysql,performance,sphinx,Mysql,Performance,Sphinx,我使用MySQL+Sphinx存储数百万行数据。我们有一个网站可以查看我们数据库中的所有信息 例如,电影标题(100000000行)。我需要在我们的网站上查看它们,每页100个标题。此外,我需要按演员受欢迎程度对其进行排序 前10页都很好。但在那之后,我达到了极限。增加此限制将迫使sphinx使用更多CPU/RAM 此外,我甚至无法将max_matches设置为20000000 警告:最大匹配数=20000000超出范围;使用默认值1000 我可以使用MySQL执行如下查询: SELECT *

我使用MySQL+Sphinx存储数百万行数据。我们有一个网站可以查看我们数据库中的所有信息

例如,电影标题(100000000行)。我需要在我们的网站上查看它们,每页100个标题。此外,我需要按演员受欢迎程度对其进行排序

前10页都很好。但在那之后,我达到了极限。增加此限制将迫使sphinx使用更多CPU/RAM

此外,我甚至无法将max_matches设置为20000000

警告:最大匹配数=20000000超出范围;使用默认值1000

我可以使用MySQL执行如下查询:

SELECT * FROM titles WHERE tid >= $start AND tid <= $end
从tid>=$start和tid的标题中选择*使用
LIMIT
()检索特定页面

任何您想要订购的内容都需要包含在索引中,您不能在此处使用联接。

使用
LIMIT
()检索特定页面


任何要排序的内容都需要包含在索引中,您不能在此处使用联接。

如果排序顺序基于属性(而不是斯芬克斯计算的权重),则可以使用游标

因为可以按此属性进行筛选


我想知道你是否真的需要它。每页100个项目,最大匹配1M,意味着10000页的结果。你的访问者真的阅读了10000页的结果吗

如果排序顺序基于属性(而不是斯芬克斯计算的权重),则可以使用游标

因为可以按此属性进行筛选


我想知道你是否真的需要它。每页100个项目,最大匹配1M,意味着10000页的结果。你的访问者真的阅读了10000页的结果吗

我仍然有偏移量限制:错误1064(42000):查询0错误:偏移量越界(偏移量=1000000,最大匹配数=1000)我仍然有偏移量限制:错误1064(42000):查询0错误:偏移量越界(偏移量=1000000,最大匹配数=1000)这是不推荐的,你可以只分页,不能吗?你是什么意思?问题是,我不能分页…你能做的就是把数百万行分成更小的结果集,每次只取1000条记录,我的意思是,一个循环,你真的需要1000万的偏移量吗?即使你把1000页放在每页上,也就是10000页——我怀疑有人会走得更远。请注意,max_matches用于返回的结果,这并不意味着它将只搜索1000万次。例如,谷歌不允许你超过1000页:)是的,我需要数千页。我确实需要。这是我的任务。这不是推荐的,你可以把它分页,不是吗?你是什么意思?问题是,我不能分页…你能做的就是把数百万行分成更小的结果集,每次只取1000条记录,我的意思是,一个循环,你真的需要1000万的偏移量吗?即使你把1000页放在每页上,也就是10000页——我怀疑有人会走得更远。请注意,max_matches用于返回的结果,这并不意味着它将只搜索1000万次。例如,谷歌不允许你超过1000页:)是的,我需要数千页。我确实需要。这就是我的任务。
if ( iMax<0 || iMax>10000000 )
{
    sphWarning ( "max_matches=%d out of bounds; using default 1000", iMax );
} else
{
    g_iMaxMatches = iMax;
}