Mysql 在查询中使用union或JOIN是否会导致Sphinx的性能降低?
我愿意在我当前的项目中使用sphinx和MySQL。 MYISAM作为数据库引擎,因为此数据库将仅为只读,具有1000-2500万条记录 所以我想知道, 在查询中使用union或JOIN是否会导致Sphinx的性能问题? 由于我将要设计数据库,如果联合/联接会导致性能降低,那么我可以为sphinx进行优化设计 可能需要创建一个包含所有字段和数据的大表,然后根据要搜索的数据在sphinx中创建独立的索引 请给我指引正确的方向Mysql 在查询中使用union或JOIN是否会导致Sphinx的性能降低?,mysql,performance,sphinx,Mysql,Performance,Sphinx,我愿意在我当前的项目中使用sphinx和MySQL。 MYISAM作为数据库引擎,因为此数据库将仅为只读,具有1000-2500万条记录 所以我想知道, 在查询中使用union或JOIN是否会导致Sphinx的性能问题? 由于我将要设计数据库,如果联合/联接会导致性能降低,那么我可以为sphinx进行优化设计 可能需要创建一个包含所有字段和数据的大表,然后根据要搜索的数据在sphinx中创建独立的索引 请给我指引正确的方向 谢谢您的时间。斯芬克斯无论如何都不能加入。可以进行联合,只需一次搜索多个
谢谢您的时间。斯芬克斯无论如何都不能加入。可以进行联合,只需一次搜索多个索引 或者你的意思是构建sphinx索引(即在sql_查询中)?Indexer首先只运行查询来构建索引 正如您所说的只读-因此没有更新,索引永远不应该重建,所以不管它们有多慢都不重要 一般来说,斯芬克斯指数的表现非常相似,无论有多少个假像。因此,不应将其拆分为不同的索引。只要有一个多用途索引(如果可能的话)
但是,您可以将索引分为若干位,以便在性能出现问题时可以分发到多个服务器 我的意思是,在构建索引时,如果我为mysql查询提供UNION和/JOIN来连接来自2-3个表的数据,它会降低速度吗?sql查询可以是数据库服务器能够运行的任意查询。Sphinx只是直接运行查询,并对结果进行索引。它不关心查询有多简单或复杂。显然,对于数据库服务器来说,更复杂的查询将更难优化。