Бред

Ответить в тред Ответить в тред
Аноним 18/11/20 Срд 15:49:07 2334583551
hernaya-koshka-[...].jpg 38Кб, 700x300
700x300
Сап двач
Программисты тут?
Дано: бд с 1 400 000 текстовых записей средней длины 300 символов.
Задача: ускорить поиск с 20 секунд до 1 сек минимум.
Способы?
Аноним 18/11/20 Срд 15:50:38 2334584732
Записи вида
Id
Text
Аноним 18/11/20 Срд 15:51:24 2334585253
Аноним 18/11/20 Срд 15:53:15 2334586434
Поиск производится по тексту select * from table where text like %search query%
Аноним 18/11/20 Срд 15:53:45 2334586775
>>233458355 (OP)
А поиск какой? По вхождению текста?
Аноним 18/11/20 Срд 15:54:38 2334587286
>>233458677
Да. Айди никак не сделать потому что нужно искать именно совпадения.
Аноним 18/11/20 Срд 15:56:11 2334588387
Предполагаю что надо сделать таблу со всеми возможными совпадениями и ссылкой на айди. Реззонно или я даун?
Аноним 18/11/20 Срд 15:57:00 2334588978
>>233458355 (OP)
Въебать памяти терабайт и два самых йоба ксеона, ясен хуй.
мимо эникей
Аноним 18/11/20 Срд 15:57:47 2334589549
>>233458355 (OP)
Закешировать все возможные строки, очевидно же.
Аноним 18/11/20 Срд 15:58:14 23345898710
Если сделать таблу из столбцов:
Айди текста
Слово которое встречается в тексте

То есть декомпозировать текста на отдельные слова
Получится овер дохуя но ускорит ли это поиск?
Аноним 18/11/20 Срд 15:58:41 23345901611
>>233458643
А нахуй ты like юзаешь, для этих целей фуллтекст же есть?
Аноним 18/11/20 Срд 16:00:14 23345913312
>>233458355 (OP)
- FULLTEXT INDEX или аналоги
- Залить в Эластиксерч или типа того
- Сосать хуй
Аноним 18/11/20 Срд 16:00:47 23345917913
>>233458897
Да блин нет. Причем тут память? Там база то весит 600 мегабайт. Мб ее в озу разместить?
Аноним 18/11/20 Срд 16:01:11 23345921114
>>233458897
почему не йоба эпики?
хеон лучше?
Аноним 18/11/20 Срд 16:03:09 23345933915
>>233458355 (OP)
>Задача: ускорить поиск с 20 секунд до 1 сек минимум.
Эксплейн покажи для начала, погромист
Аноним 18/11/20 Срд 16:03:31 23345936616
Аноним 18/11/20 Срд 16:03:53 23345939217
Аноним 18/11/20 Срд 16:04:02 23345940018
Аноним 18/11/20 Срд 16:04:09 23345940619
>>233459179
Директору это все знать не надо. Ему надо знать что надо мне подписать покупку сервака.
Аноним 18/11/20 Срд 16:04:34 23345944420
>>233458355 (OP)
Закешировать бд исходя из популярных запросов
Аноним 18/11/20 Срд 16:04:59 23345947521
>>233459400
И что? Где вывод explain этого запроса на твоей базе то?
Аноним 18/11/20 Срд 16:06:21 23345957222
>>233459392
>>233459133
>>233459016
Он же индексы от начала строки создает вроде
А мне внутри текста поиск нужен.
Аноним 18/11/20 Срд 16:06:41 23345959523
>>233459444
>из популярных запросов
а это база IP2Location и каждый запрос уникален. сотни, тысячи их)
Аноним 18/11/20 Срд 16:06:45 23345959724
Аноним 18/11/20 Срд 16:08:47 23345972525
>>233459572
Ты хоть ссылку открыл? Там про индексы ни слова.
Аноним 18/11/20 Срд 16:09:50 23345978726
>>233459595
>IP2Location
Шоблядь, ты что IP в виде строчки что ли хранишь или как?
Аноним 18/11/20 Срд 16:10:55 23345985027
Индексы?
Аноним 18/11/20 Срд 16:12:09 23345991928
>>233459595
Создать две базы одну с минимальными данными вторую с расширеными.
Аноним 18/11/20 Срд 16:12:25 23345993929
>>233459787
тов. майор, я ничего не храню. честное пионерское)
Аноним 18/11/20 Срд 16:13:04 23345997130

>>233459475
Xuynya
Id и text
Без ключей офк что тебе надо?
Аноним 18/11/20 Срд 16:13:05 23345997331
дайте денях погромисты!
Аноним 18/11/20 Срд 16:13:37 23346000432
>>233459725
Там в каждом предложении про индексы написано ты троллишь?
Аноним 18/11/20 Срд 16:14:09 23346004433
Эх, задать бы тупой вопрос по бд, но даже перед опом стыдно.
Аноним 18/11/20 Срд 16:14:27 23346006534
>>233459973
Я не коммерческий проэхт делаю.
Аноним 18/11/20 Срд 16:15:15 23346012235
>>233459971
Блядь дебил, эксплейн тебе покажет что база внутрях делает при твоем запросе, как можно епт начинать оптимизировать, не зная от чего отталкиваться?
Аноним 18/11/20 Срд 16:16:27 23346018536
>>233460122
Что оно мне покажет что я не знаю? Ключи не сделать все равно. Хуй он мне покажет на экране.
Аноним 18/11/20 Срд 16:16:56 23346021437
>>233458355 (OP)
Обычный полнотекстовый индекс.
>20 секунд
Откуда там 20 секунд высралось, вообще индексов не стоит?
Полтора миллиона записей в таблице из двух колонок это вообще ни о чем, должно быстро отрабатывать.
Аноним 18/11/20 Срд 16:17:59 23346028038
>>233460122
тебе запрос дали, ясен хер там будет фулскан
Аноним 18/11/20 Срд 16:18:10 23346028939
Аноним 18/11/20 Срд 16:18:40 23346031640
>>233460214
Не знаю. Но я понял примерно куда двигаться вроде. Вы короче сами все не шарите. Придется эксперементировать. 300к васяны)
Аноним 18/11/20 Срд 16:19:10 23346035441
Аноним 18/11/20 Срд 16:19:14 23346036042
На плюсах делается какой то хэш. Забыл как прально. Думаю тут так же можно.
Аноним 18/11/20 Срд 16:22:01 23346055043
Аноним 18/11/20 Срд 16:24:43 23346072344
Хэш первых n символов в каждой записи. Поиск по хэшу запроса.
Аноним 18/11/20 Срд 16:26:14 23346081245
16057005675560.png 331Кб, 579x604
579x604
Анон, а у меня свой вопрос,немного схож с опа ибо тоже косвенно по бд. Есть софтины, которые тегают файлы и хранят из в своей структуре папок. Например, это условный calibre и hydrus network. Плюс они переименовывают файлы по хэшу.
Как ты думаешь, насколько безопасно давать софтине свои книги и пикчи, ведь на них могут банально забить? Лучше не усложнять и юзать папки? Сложно ли самому можно будет потом поддерживать их работоспособность (учитывая,что нужна лишь таблица в бд по сути возвращающая по запросу файлыд?
Просто с одной стороны папки это надежность, возможность бэкапа только нужных директорий итд. С другой, пикчи подпадающие под несколько категорий в них хранить не выйдет. Плюс те же буру имеют миллионы пикч и додзинс (считай книг), которые уже отлично протегированы.
То есть и замыкаться на софте не хочется и терять теги.
Хранить теги в отдельном текстовом файле одноименном с пикчей и искать по content: что ли?
18/11/20 Срд 16:30:54 23346110646
пошёл нахуй скобкопидор
Аноним 18/11/20 Срд 16:32:44 23346122347
>>233458355 (OP)
>>Способы?

Ты охуел чтоли не все вводные из своего задания для устройства на работу писать?

1) Какая БД?
2) Какие ресурсы у машины?
3) Какими ресурсами готов пожертвовать ради роста производительности?

>>select * from table where text like %search query%

В таблице можно доп. поля создавать? Если поиск ТОЛЬКО С ПОМОЩЬЮ ДАННОГО ЗАПРОСА, еби мозг админу, пусть переносят твою таблицу на ссд, желательно, чтобы она там была одна и даёт безлимитную квоту на чтение.

/thread
Аноним 18/11/20 Срд 16:34:22 23346133248
>>233460812
Как мне кажется зависит от количества, если запросы итак работают то в бд смысла никакого. А что делает твой фреймворк тебе лучше прочекать самому. Я б не доверял.
Аноним 18/11/20 Срд 16:39:05 23346166849
>>233460214
тут уже зависит от железа. Зарежут ему чтение с диска, будет читать до пенсии, лол
Аноним 18/11/20 Срд 16:39:09 23346167350
>>233461223
Иннодб
6гб озу, 4 ядра физических 3.6 гц, есть ссд попробую туда перенести я уже думал об этом
Поля создать можно это моя база фактически я админ.
Я короче попробую декомпозировать текст на отдельные высеры и айди поста закею.
У меня уже есть таблица с повторением всех слов 180 тысяч позиций.
Я вот не знаю стоит пробовать или там пиздец будет.
Аноним 18/11/20 Срд 16:58:05 23346292051
удаляешь 9 строк из 10 и база становится меньше, и по ней все быстрей ищется
Я у мамы погромист
Аноним 18/11/20 Срд 17:03:39 23346328152
>>233460812
Доверять васянософту низзя
Аноним 18/11/20 Срд 17:44:48 23346653853
Аноним 18/11/20 Срд 18:10:41 23346836354
>>233466538
Плюсую сфинкс.
Делал курсач - поиск по книгам, игрался со всякими встроенными полнотекстовыми поисками, самое грустное было в mongo db - поиск занимал 40 минут!. В итоге сфинкс ищет по словам за считанные секунды, хотя база на 400 гигов (индексы сфинкса были 32, и все в оперативку не влазили, но это все равно очень быстро работало). Единственное что я не уверен, что это не оверкилл, возможно автору не нужны словоформы, а только строгое совпадение
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов