MySQL 5.5 至 5.7 停止使用索引

2024-02-29

我有 Magento 1.9.2.1 。并在Apache2和MySQL 5.5上成功运行。

我尝试将其迁移到另一台服务器并使用 NGINX 和 MySQL 5.7。

但网站开始变得非常慢(12 秒对 2 秒)。 经过几个小时的调试,我发现一个查询有问题:

SELECT
   `main_table`.`entity_id`,
   `main_table`.`name`,
   `main_table`.`path`,
   `main_table`.`is_active`,
   `main_table`.`is_anchor`,
   `url_rewrite`.`request_path`
FROM
   `catalog_category_flat_store_1` AS `main_table`
   LEFT JOIN
      `core_url_rewrite` AS `url_rewrite` ON 
      `url_rewrite`.`category_id` = `main_table`.`entity_id` AND
      `url_rewrite`.`is_system` = 1 AND
      `url_rewrite`.`store_id` = 1 AND
      `url_rewrite`.`id_path` LIKE 'category/%'
WHERE
   (`main_table`.`include_in_menu` = '1') AND
   (`main_table`.`is_active` = '1') AND
   (`main_table`.`path` like '1/2/%')
ORDER BY
   `main_table`.`position` ASC;

在解释时我发现没有使用索引。在旧的 MySQL 5.5 服务器上,解释命令显示正在使用的索引。一旦我强制使用索引,新服务器就会在 0.01 秒而不是 10 秒内做出响应。但我认为更改 magento 代码的源文件不是一个好主意。

有没有办法强制 MySQL 5.7 在索引选择方面以与 5.5 类似的方式工作?


遗憾的是,只有 MySQL 从 5.7 降级到 5.5 才为我解决了类似的问题。Magento sql查询没有索引 https://stackoverflow.com/questions/43049627/magento-sql-query-have-no-index/43369915#43369915

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 5.5 至 5.7 停止使用索引 的相关文章

  • 如何上传图像代码并将路径保存到mysql数据库中

    如何编写代码上传图像并将路径保存到mysql数据库中 我已经尝试过 但没有一个有效 一种方法是上传图像并将其存储在服务器上的文件夹中 并将名称保存到 mysql 数据库中 这是一个例子 首先我们将创建一个用于上传的表单 文件 html Up
  • 如何在 PHP 中对数组和数据进行排序?

    这个问题旨在作为有关 PHP 中数组排序问题的参考 人们很容易认为您的特定案例是独特的并且值得提出新问题 但大多数实际上只是此页面上的解决方案之一的微小变化 如果您的问题因与此问题重复而被关闭 请仅在您能解释为什么它与以下所有问题显着不同的
  • Magento:我可以在哪个文件夹中看到我安装的扩展?

    我在 magento 1 5 中安装了一个扩展 只是想知道它在我的服务器上的位置 因为我想向它写入一个包含文件 谢谢 通常在 MagentoFolder app code community SomeCompanyName SomePack
  • 数组到字符串转换注意事项。为什么?

    为什么我得到 Applications MAMP htdocs test2 php 第 11 行中的数组到字符串转换 注意 users array aa a b bb cc c foreach users as usr var htmlsp
  • 如何正确转义反斜杠以匹配单引号和双引号 PHP 正则表达式模式中的文字反斜杠

    为了匹配字面上的反斜杠 很多人和PHP 手册 http www php net manual en regexp reference escape php说 总是三重转义吧 就像这样 Note 单引号和双引号 PHP 字符串具有反斜杠的特殊
  • PHP:如何获取
    中的名称值

    有没有办法获取form标签中name属性的值 我正在使用 PHP 但在 中没有看到它 POST 有没有办法获取form标签中name属性的值 我正在使用 PHP 但在 POST 中没有看到它 不 表单的名称属性永远不会设置为作为 POST
  • 使用 TCPDF PHP 库横向显示的图像

    我正在使用 TCPDF PHP 库生成包含照片的 PDF 文档 由于某种原因 某些照片在我的计算机和网络上正确显示 但当我将该图像放入 PDF 中时 它似乎是横向的 这只发生在某些图像上 大多数图像显示正确 下面是在 PDF 中横向显示的示
  • PHP shell_exec 使用 ssh 运行 shell 脚本

    我有一个 shell 脚本 使用 ssh 和密钥连接到另一台机器 因此它不需要用户名和密码 当我从命令行运行这个脚本时 它工作正常 但是当我从 php shell exec 运行这个脚本时 它不起作用 如果我与 PHP 建立 ssh 连接并
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • PHP preg_match_all 100 MB 文件

    我读到 preg match all 不是为解析大文件而设计的 但我需要这样做 我增加了 pcre backtrack limit 1000000000 pcre recursion limit 1000000000 我的 PHP memo
  • 使用 jquery 迭代 json 数组

    已经有一些帖子和我遇到了类似的问题 如何使用 PHP 中的 jQuery AJAX 调用迭代 JSON 数组 https stackoverflow com questions 6472338 how do i iterate over a
  • 自动安排并执行 PHP 脚本

    我编写了一个 PHP 脚本 它生成一个包含数据库中所有表的 SQL 文件 我想要做的是每天或每 n 天执行这个脚本 我读过有关 cron 作业的内容 但我使用的是 Windows 如何在服务器上自动执行脚本 您需要添加计划任务来调用 URL
  • 如何从 php 代码更改 php 设置?

    我想更改 php 设置 但从 php 页面而不是 php ini 更改 我要更改的设置是 upload max filesize post max size and memory limit 如果您有AllowOverride 选项 您可以
  • 使用 PKCS1 生成私钥 RSA

    有没有办法在 PHP 中通过 OpenSSL 生成私钥openssl pkey 新 http php net manual en function openssl pkey new php在 RSA 和 PKCS1 中 如果您的意思是带有
  • Mysql对三表多列的连接查询

    我有三个这样的表 专业化 sid s name 1 test 1 2 test 2 Person pid name sid 1 ABC 1 2 XYZ 2 Timing tid time from time to pid 1 08 00 0
  • PHP:检测USB设备

    我正在尝试使用 PHP 将用户名和密码存储到 USB 拇指驱动器上的文本文件中 因此 当用户返回使用 USB 密钥登录时 应该会打开一个弹出窗口 并提示输入用户名和密码 所以我的问题是如何使用 PHP 检测 USB 拇指驱动器 所以客户端或
  • 在 Woocommerce 商店页面中显示可变产品的默认变化价格

    I m wondering how I can display the product price on the shop page Right now my variable products are shown with their p
  • 获取MySql中重复行的列表

    我有一张这样的桌子 ID nachname vorname 1 john doe 2 john doe 3 jim doe 4 Michael Knight 我需要一个查询 该查询将从具有相同 nachname 和 vorname 的记录
  • 在php中将数组写入文件并获取数据

    我有一个数组 使用后如下所示print r Array 0 gt Array 0 gt piklu name gt piklu 1 gt Array 0 gt arindam name gt arindam 2 gt Array 0 gt
  • html 下钻下拉所选值未插入 MYSQL

    我有两个下拉列表 首先从数据库下拉填充 根据第一个下拉列表的选定值从数据库填充第二个下拉列表 document ready function c change function var c1 c selected text if c1 aj

随机推荐