php - 如何减少mysql查询加载时间
问题描述
我们有关于目录列表的网站,并且我们在数据库中的不同表中有不同的关联数据。我们在网站上有搜索功能,可以从所有关联中全局搜索数据,另一种可以从单个关联中搜索。
- 默认情况下,它会使用所有表的联合加载所有数据,如果不写任何关键字进行搜索。
- 如果我们为搜索编写任何关键字,那么它将在表的 25 个字段中从所有与 check 关键字的关联中搜索数据,然后按某个字段对前 30 个数据进行排序并返回行。
来自关联的表之一(companies_general)有 10+ 百万数据,因此,sql 查询需要很长时间才能执行。如果我们只是尝试使用联合和排序获取所有数据,仍然需要很长时间几乎 1分钟得到结果。
当我们从查询中排除该表时,与它相比它需要更少的时间。
- 为了解决这个问题,我在必填字段中使用了全文搜索功能和全文索引。但仍然无法减少时间。
所以我需要解决这个问题。
解决方案
推荐阅读
- .net-core - SignalR 不允许在方法中使用 Autorize
- performance - When to create statistics?
- php - php中的近似字符串匹配
- python-2.7 - 使用 python labmda 函数从 dynamodb 流中检索字段值
- docker - 调用链码函数时出现 ENDORSEMENT_POLICY_FAILURE 错误
- java - 如何在 Flutter 应用和它的 android/ios 代码之间建立一个发布-订阅通道?
- c# - 从 C# 中的文件搜索中排除目录
- jenkins - Jenkins 查找合并/提交的工作发生在 GitHub 组织中
- java - 使用 Spring Boot 从 LDAP 排序记录
- python - 带有版本号的 cx_Freeze 模块