gpt4 book ai didi

mysql - Magento 在每次页面加载时多次发出 ALTER TABLE 命令

转载 作者:行者123 更新时间:2023-11-30 23:01:19 26 4
gpt4 key购买 nike

我正在尝试尽我所能来优化我的 Magento 网站的性能。我刚刚注意到某个 SQL 命令在一个页面上运行了多达 91 次:

ALTER TABLE `enterprise_sales_order_grid_archive` MODIFY COLUMN `is_edited` smallint NOT NULL default '0' COMMENT ''

有没有人知道这是什么或为什么会这样,或者最重要的是,我该如何解决它?

最佳答案

我遇到了类似的问题,我应用的修复如下:

此模块在任何订单事件中都特别活跃,请尽可能完全禁用它。

如果您查看:/app/code/core/Enterprise/SalesArchive/etc/config.xml

有一个 cron 作业和许多事件是导致这种情况发生的主要原因

请在本模块的config.xml中禁用所有事件监听。


请尝试评论(如果你有这个文件)

应用程序/代码/社区/MDN/AdvancedStock/Block/Adminhtml/Sales/Order/Grid.php第69行到第79行这样

protected function _prepareColumns()
{
parent::_prepareColumns();

$this->addAfterColumn('increment_id', array(
'header'=> Mage::helper('Organizer')->__('Organizer'),
'renderer' => 'MDN_Organizer_Block_Widget_Column_Renderer_Comments',
'align' => 'center',
'entity' => 'order',
'filter' => false,
'sortable' => false
),'real_order_id');

/*$this->addAfterColumn('payment_validated', array(
'header'=> Mage::helper('AdvancedStock')->__('Payment validated'),
'width' => '40px',
'index' => 'payment_validated',
'align' => 'center',
'type' => 'options',
'options' => array(
'1' => Mage::helper('purchase')->__('Yes'),
'0' => Mage::helper('purchase')->__('No'),
),
),'status');*/


//raise event to allow other modules to add columns
Mage::dispatchEvent('salesorder_grid_preparecolumns', array('grid'=>$this));

}

解决此问题的另一个选项如下

基本上我们得到两个可以添加到 app/etc/local.xml 的标志。假设一个站点托管在多个前端 Web 服务器上,更新脚本应该只在其中一个上处理。设置

<global>
<skip_process_modules_updates>1</skip_process_modules_updates>
</global>

除了“主”网络服务器之外的所有网络服务器都将避免主机之间的竞争条件。

有一种更好的方法可以避免处理设置脚本的竞争条件,那就是根本不允许任何网络服务器处理设置脚本。这就是它的工作原理。除了一台服务器之外,不应在所有服务器上设置 skip_process_modules_updates 标志,而应在所有主机上将其设置为真值。然后可以通过一个简短的 shell 脚本触发设置过程。

它对我有用。看看是否对您有帮助。

关于mysql - Magento 在每次页面加载时多次发出 ALTER TABLE 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23812328/

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