gpt4 book ai didi

php - Magento API 太慢?

转载 作者:行者123 更新时间:2023-12-02 19:15:09 25 4
gpt4 key购买 nike

所以我最近通过 Magento API 调用对数据库运行了一些查询,例如

$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
$readresult = $connection_write->query("SELECT data_index FROM catalogsearch_fulltext WHERE MATCH(data_index) AGAINST ('anji') AND store_id = '1'");
$row = $readresult->fetch();

但是,显然这会在循环大约 30 条记录、操作它们并写回记录后使整个服务器崩溃。

必须有一种方法来操作 Magento 中数据库表的值。有没有办法可以直接查询数据库并绕过 Magento 庞大的 API?

谢谢!

编辑:对于以后可能发现此内容的任何人。

我成功地绕过了 Magento API 进行数据库调用。只需直接查询数据库就可以更快地工作。

但是,就我而言,我的表与其他表没有相互关联。 Magento 中的许多表都是相互关联的,如果您更改一个表中的某些内容,则会在其他表中产生多米诺骨牌效应。因此,执行此操作时必须格外小心。

最佳答案

Magento 默认情况下很慢,我认为这是 Magento 的主要问题之一。它既缓慢又复杂。您可以使用(调用)这个:

require_once '{ROOT_DIR}/app/Mage.php';
Mage::app('default');

并尝试创建一个自定义函数,但它不会比 Magento 本身快多少。您仍然使用 Magento 的类,但您可以开发自己的功能,但您仍然需要一些背景知识,这并不是很容易获得 - 文档很差。也许您可以从一些在线 magento 博客和技巧开始。

您说它在大约 30 秒内停止工作。这通常是 PHP 停止执行的默认时间限制。因此,请尝试在 PHP 文件顶部使用 set_time_limit:

set_time_limit(0); //for unlimited time limit or
set_time_limit(120); //for 120 seconds time limit for example

还可以使用 FTP 进行连接并找到(通常)此目录:

{root}/var/cache/

应该有一些子目录,例如:mage--0,mage--1,mage--2 ...等。您可以不时删除它们。这是 CACHE 文件,我注意到如果有大量 CACHE 文件,magento 的运行速度会很慢。如果删除此缓存文件和目录,它会在一段时间内运行得更好。

关于php - Magento API 太慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com