Mysql упорядочен очень медленно из 1 000 000 строк, у нас есть почти 300 000 результатов поиска - PullRequest
0 голосов
/ 23 ноября 2018

Когда мы выполняем Natural Search в Mysql из 1 000 000 строк, мы получаем почти 300 000 результатов поиска.Этот запрос длится 7-8 секунд, когда мы хотим выбрать первые 2000 документов с самым высоким естественным счетом.

Это слишком длинное время для нас.Как мы можем сократить продолжительность первых 2000 пиков по сортировке по естественному рейтингу?

Заранее благодарю за помощь.

select (match(baslik,detay) against('+borçlu +yetkili +icra +dairesi +tercih +kayyım +borç +daire +borc' in natural LANGUAGE mode)) as n from ictihat 
 where   (match(baslik,detay) against('+borçlu +yetkili +icra +dairesi +tercih +kayyım +borç +daire +borc +Deyn +Vecibe +Evam +Liability +Kredi +Ödev +Ödünç +Namus +borcu +Takanak +Medyun +Debitor +Zimemdar +Yükümlü +Verecekli +Bölük +Çember +Çevre +İdare +Menzil +Ofis +Temşiyet +Yürütme +Curator +Kayyum +Yeğleme +Salahiyettar +Salâhiyyetdâr +Salahiyetli +Mezun' in natural LANGUAGE mode))
 **order by n desc** LIMIT 0,2000

Результат: 4,703 сек

Объяснить:

1 SIMPLE ictihat fulltext aramafull aramafull 0 const 1 100.00 Using where; Using filesort

 select (match(baslik,detay) against('+borçlu +yetkili +icra +dairesi +tercih +kayyım +borç +daire +borc' in natural LANGUAGE mode)) as n from ictihat 
 where   (match(baslik,detay) against('+borçlu +yetkili +icra +dairesi +tercih +kayyım +borç +daire +borc +Deyn +Vecibe +Evam +Liability +Kredi +Ödev +Ödünç +Namus +borcu +Takanak +Medyun +Debitor +Zimemdar +Yükümlü +Verecekli +Bölük +Çember +Çevre +İdare +Menzil +Ofis +Temşiyet +Yürütme +Curator +Kayyum +Yeğleme +Salahiyettar +Salâhiyyetdâr +Salahiyetli +Mezun' in natural LANGUAGE mode))
 LIMIT 0,2000

Результат: 1,005 с

Объяснить: 1 ПРОСТОЙ ictihat fulltext aramafull aramafull 0 const 1100,00 Использование где

...