(;¬_¬)
ну бложик например с парой десятков постов
(;¬_¬)
а такую фигню стоит во что-то типа мускуля\постргре все же пихать, имхо
Chuvi
Anonymous
ну я тоже думаю что нужно nosql юзать
Anonymous
Chuvi
Будут. Раз в день. По скрипту.
Anonymous
Chuvi
Да ну, там всё в одну таблицу отлично кладётся.
Не вижу никаких проблемы выбирать из одной-то таблицы...
(;¬_¬)
Anonymous
еще такое https://www.couchbase.com/preview/couchbase-server-4-0 вот советуют
Anonymous
(;¬_¬)
и это как раз и будет у тебя потом напряги делать при выборках
(;¬_¬)
угу... а надо будет тебе выбрать только тех юзверей у которых accept language ru
(;¬_¬)
если бы у тебя все accept language были в отдельной таблице и связаны с юзверями как многие ко многим, то тебе только айдишники надо было бы выбрать
(;¬_¬)
а так придется делать текстовый поиск по json полю мускуля
Chuvi
(;¬_¬)
ты пример выкладывал скриншотом
Chuvi
Есть только факт поиска.
(;¬_¬)
у тебя там search "" user ""
Chuvi
это просто отграничение данных.
(;¬_¬)
и тебе с ним не придется работать?
Chuvi
что в этом оъекте данные о пользователе, анонимные.
(;¬_¬)
в таблице у тебя что только данные которые в search лежат?
Chuvi
Я не могу их связывать. Они анонимные.
(;¬_¬)
и что?
(;¬_¬)
не улавливаю пока проблемы
(;¬_¬)
допустим тебе надо выбрать все страницы которые искали юзвери с последним хромом
Chuvi
И то что нет сущности "пользователь"
(;¬_¬)
или те запросы на которые юзвери заходили из инкогнито режима браузера
(;¬_¬)
не будет таких задач?
Chuvi
Chuvi
Точнее даже null || !null
(;¬_¬)
окей, как ты все хранишь в sqlite, потому что я сейчас вилами по воде угадываю, а мне так не нравится
Chuvi
(;¬_¬)
(;¬_¬)
ну и в цело возьми и перенеси из sqlite в мусуль например, прямо с такой же структурой. добавь индксы грамотно и все должно летать, имхо
Chuvi
Количество поисков через какой-либо поисковик, в определённые дни, под определённым user-agent.
(;¬_¬)
ну и лично я acceptlangs разбил на многие ко многим
Артём
может поудобнее будет сделать searchEngine целым и определть поисковики битовой маской? так же с acceptLangs (если вариантов не много)
(;¬_¬)
(;¬_¬)
плюс придет кто-то новый, ему тоже вникнуть надо будет время
Артём
долго вникать в такое?
Chuvi
Хранится всё это на слабеньком VPS с 512 метрами памяти, которые отдавать на растерзание прожорливому MySQL не сильно хочется ради пары тройки выборок в месяц...
Chuvi
Sergey
Артём
в какое?
на одно сообщение выше - кусок исходника с константами (как раз про битовые маски)
Sergey
тогда дня 2
Sergey
если с нуля, и не знаешь что есть разные системы счисления
Артём
(;¬_¬)
без констант на пыхе
Chuvi
Ну вот сейчас у меня
1 rows returned in 6003ms from: SELECT COUNT(id) FROM searches WHERE searchGoogle = 1;
😔
Артём
а это всё, что есть? или индексы потом поставил?
(;¬_¬)
это хорошо, если где-то есть эти исходники
(;¬_¬)
(;¬_¬)
я же говорил уже
Chuvi
Не, ещё не расставлял.
Артём
просто как то не комильфо юзать целый INT (а он вроде как 4 байта, а ещё и индекс), ради того, что searchGoogle может быть только 0 или 1.
Артём
(;¬_¬)
Chuvi
(;¬_¬)
🤷♂️твое дело. тогда просто не надо ныть что оно тормозит
Chuvi
Chuvi
1 rows returned in 138ms from: SELECT COUNT(id) FROM searches WHERE searchGoogle = 1;
(;¬_¬)
пока записей не станет пара лямов и не придется искать в том числе по text полям
Артём
Chuvi
Ну тогда и подумаю про миграцию. Или подумаю про то чтобы посчитать старые и удалить. )
Chuvi
Chuvi
Нет, для SQLite - не тормозит.
(;¬_¬)
забей