Neden bir çok kelime Doktrini arama nedeni MySQL% 300 CPU kadar kullanmak nedir?

0 Cevap php

Ben tek bir kelime sorguları için iyi çalışır Doktrini en aranabilir davranışını kullanarak bir tablo var. Ancak fark ettim ki, bir sorgu bir boşluk, sayfa kilitleniyor içerir ve ben vs sayfayı yenileyerek dışında herhangi bir yanıt alamıyorum zaman

Benim Mac veya SSH Ububntu sonra 'en iyi' ile ilgili Activity Monitor açarsanız, MySQL kadar% 300 CPU bir süreç çalışıyor. Ben şeyler tekrar normal çalışıyor almak için süreci öldürmek zorunda.

Bu Doktrin tarafından oluşturulan SQL sorguları şunlardır:

Tek bir kelime sorgu için:

SELECT COUNT(*) AS num_results FROM hotel h WHERE h.is_active = '1' 
AND h.id IN (SELECT id FROM hotel_index WHERE keyword = 'samui' GROUP 
BY id) 

İçinde bir boşluk olan bir çok kelime sorgu için:

SELECT COUNT(*) AS num_results FROM hotel h WHERE h.is_active = '1' 
AND h.id IN (SELECT id FROM hotel_index WHERE id IN (SELECT id FROM 
hotel_index WHERE keyword = 'sala') AND id IN (SELECT id FROM 
hotel_index WHERE keyword = 'samui') GROUP BY id) 

Ben 2 kelime etrafında çift tırnak işaretleri ekleme gibi birkaç şey denedim.

Teşekkürler

0 Cevap