Сап двач Программисты тут? Дано: бд с 1 400 000 текстовых записей средней длины 300 символов. Задача: ускорить поиск с 20 секунд до 1 сек минимум. Способы?
>>233459971 Блядь дебил, эксплейн тебе покажет что база внутрях делает при твоем запросе, как можно епт начинать оптимизировать, не зная от чего отталкиваться?
>>233458355 (OP) Обычный полнотекстовый индекс. >20 секунд Откуда там 20 секунд высралось, вообще индексов не стоит? Полтора миллиона записей в таблице из двух колонок это вообще ни о чем, должно быстро отрабатывать.
Анон, а у меня свой вопрос,немного схож с опа ибо тоже косвенно по бд. Есть софтины, которые тегают файлы и хранят из в своей структуре папок. Например, это условный calibre и hydrus network. Плюс они переименовывают файлы по хэшу. Как ты думаешь, насколько безопасно давать софтине свои книги и пикчи, ведь на них могут банально забить? Лучше не усложнять и юзать папки? Сложно ли самому можно будет потом поддерживать их работоспособность (учитывая,что нужна лишь таблица в бд по сути возвращающая по запросу файлыд? Просто с одной стороны папки это надежность, возможность бэкапа только нужных директорий итд. С другой, пикчи подпадающие под несколько категорий в них хранить не выйдет. Плюс те же буру имеют миллионы пикч и додзинс (считай книг), которые уже отлично протегированы. То есть и замыкаться на софте не хочется и терять теги. Хранить теги в отдельном текстовом файле одноименном с пикчей и искать по content: что ли?
Ты охуел чтоли не все вводные из своего задания для устройства на работу писать?
1) Какая БД? 2) Какие ресурсы у машины? 3) Какими ресурсами готов пожертвовать ради роста производительности?
>>select * from table where text like %search query%
В таблице можно доп. поля создавать? Если поиск ТОЛЬКО С ПОМОЩЬЮ ДАННОГО ЗАПРОСА, еби мозг админу, пусть переносят твою таблицу на ссд, желательно, чтобы она там была одна и даёт безлимитную квоту на чтение.
>>233460812 Как мне кажется зависит от количества, если запросы итак работают то в бд смысла никакого. А что делает твой фреймворк тебе лучше прочекать самому. Я б не доверял.
>>233461223 Иннодб 6гб озу, 4 ядра физических 3.6 гц, есть ссд попробую туда перенести я уже думал об этом Поля создать можно это моя база фактически я админ. Я короче попробую декомпозировать текст на отдельные высеры и айди поста закею. У меня уже есть таблица с повторением всех слов 180 тысяч позиций. Я вот не знаю стоит пробовать или там пиздец будет.
>>233466538 Плюсую сфинкс. Делал курсач - поиск по книгам, игрался со всякими встроенными полнотекстовыми поисками, самое грустное было в mongo db - поиск занимал 40 минут!. В итоге сфинкс ищет по словам за считанные секунды, хотя база на 400 гигов (индексы сфинкса были 32, и все в оперативку не влазили, но это все равно очень быстро работало). Единственное что я не уверен, что это не оверкилл, возможно автору не нужны словоформы, а только строгое совпадение