我遇到了SQL查詢問題。Magento sql查詢沒有索引
目前我在不同的服務器上有兩個magento版本,都是從1.9.2.4升級到1.9.3.2。
問題是,當我檢查SHOW FULL PROCESSLIST
查詢時,我發現他們花了很多時間。經過一些研究,我試圖在兩臺服務器上運行相同的查詢(直接通過SQL命令)。
結果是1:15(68 x 263行vs 68 x 961902),其中一位同事檢查了EXPLAIN SQL
函數,發現在較慢的查詢服務器中沒有密鑰(索引)。試圖運行添加USE INDEX()
和使用快速查詢服務器的密鑰,似乎這是問題,因爲查詢以相同的結果和速度進行。
總之我們有些MYSQL
配置不正確。
也許有人可以建議哪個MYSQL
配置或服務器變量可以導致這個問題? 因爲目前我沒有想法。我嘗試了谷歌搜索,但沒有結果可以幫助我。
SQL查詢。
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/3/%')
AND (`level` <= 3)
ORDER BY `main_table`.`position` ASC
我有同樣的問題,當我從服務器機智移動magento h MySQL 5.5到MySQL 5.7的服務器。 這裏是我的問題https://stackoverflow.com/questions/43225701/mysql-5-5-to-5-7-stopped-using-indexes 你有沒有找到任何解決方案? 我目前正在嘗試在magento中找到「使用索引」的位置:) –
在我的解決方案中張貼內容 – Macas