/**
* Clerk
*
* @Table(schema="schema")
*/
class Clerk { }монго можно разделить на X нод без шаманских танцев с бубном
весьма мощный сервер (8gb
На тяжелые запросы не грешу, т.к., во-первых, билд запросов на 100% отдан ORM (Eloquent, Lumen), и возможность кривыми руками написать какой-нибудь count(*) сведена к нулю
PostgreSQL 11.0 (Debian 11.0-1.pgdg90+2)
Для данной таблицы создал индексирование следующим образом:
Какие на ваш взгляд есть узкие места в этом запросе.
TREE_ORGANIZATION_ID (varchar)
select admin_id
count(*) filter(where created_at >= '2019-01-01' and created_at < '2019-02-01'),
count(*) filter(where created_at >= '2019-02-01' and created_at < '2019-03-01'),
....
from tablename where ... group by admin_idmelkij=> create table identity_test (i int primary key generated by default as identity, val int);
CREATE TABLE
melkij=> insert into identity_test (val) values (1);
INSERT 0 1
melkij=> table identity_test;
i | val
---+-----
1 | 1
(1 строка)
melkij=> create table identity_test_like (like identity_test INCLUDING COMMENTS INCLUDING CONSTRAINTS INCLUDING DEFAULTS INCLUDING INDEXES);
CREATE TABLE
melkij=> \d identity_test_like
Таблица "public.identity_test_like"
Столбец | Тип | Правило сортировки | Допустимость NULL | По умолчанию
---------+---------+--------------------+-------------------+--------------
i | integer | | not null |
val | integer | | |
Индексы:
"identity_test_like_pkey" PRIMARY KEY, btree (i)
melkij=> \d identity_test
Таблица "public.identity_test"
Столбец | Тип | Правило сортировки | Допустимость NULL | По умолчанию
---------+---------+--------------------+-------------------+----------------------------------
i | integer | | not null | generated by default as identity
val | integer | | |
Индексы:
"identity_test_pkey" PRIMARY KEY, btree (i)Как Вы поняли в поле "а" вписывается ответ "no" или "yes" .
В моем бизнесе вопросы собраны в Репорт (Репорты разные. В зависимости от Репорта имеют от 10 до 70 вопросов). Таким образом ответы заходящие в таблицу user нужно разделять по Репортам.