Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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 在查询中使用union或JOIN是否会导致Sphinx的性能降低?_Mysql_Performance_Sphinx - Fatal编程技术网

Mysql 在查询中使用union或JOIN是否会导致Sphinx的性能降低?

Mysql 在查询中使用union或JOIN是否会导致Sphinx的性能降低?,mysql,performance,sphinx,Mysql,Performance,Sphinx,我愿意在我当前的项目中使用sphinx和MySQL。 MYISAM作为数据库引擎,因为此数据库将仅为只读,具有1000-2500万条记录 所以我想知道, 在查询中使用union或JOIN是否会导致Sphinx的性能问题? 由于我将要设计数据库,如果联合/联接会导致性能降低,那么我可以为sphinx进行优化设计 可能需要创建一个包含所有字段和数据的大表,然后根据要搜索的数据在sphinx中创建独立的索引 请给我指引正确的方向 谢谢您的时间。斯芬克斯无论如何都不能加入。可以进行联合,只需一次搜索多个

我愿意在我当前的项目中使用sphinx和MySQL。 MYISAM作为数据库引擎,因为此数据库将仅为只读,具有1000-2500万条记录

所以我想知道, 在查询中使用union或JOIN是否会导致Sphinx的性能问题?

由于我将要设计数据库,如果联合/联接会导致性能降低,那么我可以为sphinx进行优化设计

可能需要创建一个包含所有字段和数据的大表,然后根据要搜索的数据在sphinx中创建独立的索引

请给我指引正确的方向


谢谢您的时间。

斯芬克斯无论如何都不能加入。可以进行联合,只需一次搜索多个索引

或者你的意思是构建sphinx索引(即在sql_查询中)?Indexer首先只运行查询来构建索引

正如您所说的只读-因此没有更新,索引永远不应该重建,所以不管它们有多慢都不重要

一般来说,斯芬克斯指数的表现非常相似,无论有多少个假像。因此,不应将其拆分为不同的索引。只要有一个多用途索引(如果可能的话)


但是,您可以将索引分为若干位,以便在性能出现问题时可以分发到多个服务器

我的意思是,在构建索引时,如果我为mysql查询提供UNION和/JOIN来连接来自2-3个表的数据,它会降低速度吗?sql查询可以是数据库服务器能够运行的任意查询。Sphinx只是直接运行查询,并对结果进行索引。它不关心查询有多简单或复杂。显然,对于数据库服务器来说,更复杂的查询将更难优化。