Долгий поиск match/against из php

144
06 июля 2019, 14:10

Проблема такая: один и тот же SQL запрос из PHP может идти например 45 секунд (логируется все точно - это только время запроса, а не загрузки всей страницы), а просто из консоли 5 секунд.

Вот пример такого запроса:

SELECT `id` 
FROM `articles_index` 
WHERE (`contest_id`='2019') AND (match (name, authors, text) against ('Электронная коммерция')) 
ORDER BY match (name, `authors`, text) against ('Электронная коммерция') DESC 
LIMIT 50;

А вот DDL таблицы:

CREATE TABLE `articles_index` (
  `id` int(11) NOT NULL,
  `contest_id` int(11) NOT NULL,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `authors` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
  `text` longtext COLLATE utf8_unicode_ci,
  PRIMARY KEY (`id`),
  KEY `fk-articles_index-contest_id` (`contest_id`),
  FULLTEXT KEY `search` (`name`,`authors`,`text`),
  CONSTRAINT `fk-articles_index-contest_id` FOREIGN KEY (`contest_id`) REFERENCES `contests` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk-articles_index-id` FOREIGN KEY (`id`) REFERENCES `articles` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Из PHP используется Yii2. Записей в таблице около 57к.

READ ALSO
Как с помощью регулярных выражений из строки получить цифры / №

Как с помощью регулярных выражений из строки получить цифры / №

Есть строка Приход № 5146 12/12/2018 Имя Перейти как получить = № 5146 12/12/2018 Имя

126
Подключение openssl в проект visual studio c++

Подключение openssl в проект visual studio c++

библиотека opensslНеобходимо использовать метод MD5

178
Вывод данных в QTextEdit в виде столбцов

Вывод данных в QTextEdit в виде столбцов

При работе в qt с QTextEdit столкнулась с проблемой вывода данных в ровные столбцыНепонятно, как делать форматирование строк

144
Как разворачивается данный макрос?

Как разворачивается данный макрос?

Выполняя задачу по макросам попался документ о конкатенации макросовВ нем следующий код:

137