通过子句
一个特定的实例涉及一个查询,从三个表中检索数据的数据,其中最大的表格约为40,000行。如果没有子句的顺序,则查询可以最佳执行。但是,当将任何列用作排序标准时,查询将减速几个数量级,左右。此问题的根本原因在于数据库的优化机制。默认情况下,MySQL试图通过创建临时表或使用子查询来优化查询。当添加子句的订单时,优化器会误解所需的临时表的大小,并分配了不足的内存。因此,查询返回到效率较低的排序算法,从而导致观察到的放缓。一个可能的解决方法是使用相关的子查询或CTE(COMPON表达式)重写查询以明确指定分类步骤。这允许优化器正确估计临时表尺寸,从而防止放缓。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3