
Anton
31.03.2018
18:21:21
И будет этот запрос выполняться в большинсттве СУБД в охренеть сколько раз медленнее

Al
31.03.2018
18:22:16

Anton
31.03.2018
18:22:54
@crestoff Если по одному времени у тебя может бытть несколько записей, то единственным вариантом будет подзапрос заменить на ордер бай тайм (если по нему индекс есть) или праймари автоинкрремент (если равнозначно времени) desc limit 1

Al
31.03.2018
18:23:24

Google

Anton
31.03.2018
18:23:41
груп бай ты предложил

Al
31.03.2018
18:23:58
да пофигу

Anton
31.03.2018
18:24:02
А я же предлагаю просто ускорить поиск максимального времени, всё

Al
31.03.2018
18:24:08
подумал об одном. написал другое :)
ордер конечно же

Anton
31.03.2018
18:24:32
да пофигу
ну выбери с селекттивностью даты в 1%. Посчитай разницу во времени выполнения))))

Crestoff
31.03.2018
18:24:33
короче не пойдёт
щас покажу весь запрос

Anton
31.03.2018
18:24:43

Crestoff
31.03.2018
18:26:34
SELECT domain_id,
ad_account_id,
revenue
FROM log_profit
WHERE (time BETWEEN 1522454400 AND 1522536960)
AND ((domain_id IN ('375',
'386',
'379',
'378'))
AND (ad_account_id IN ('12',
'14',
'17',
'11)))
GROUP BY ad_account_id
ORDER BY revenue DESC
вот пример запроса
мне нужны значения , при которых время (time) будет максимальным
при группировке по ad_account_id

Google

Al
31.03.2018
18:28:04

Crestoff
31.03.2018
18:28:58
добавить сортировку по времени?
ORDER BY `revenue` DESC , time ASC
это имеешь ввиду?

Anton
31.03.2018
18:31:11
Подзапросик с джойном самого на себя. Если есть составной индекс будет работать влёт
сначала собираешь accountid,MAX(time), потом по этим полям делаешь джойн
но тут много вариантов, зависитт от структуры таблицы и селективностти конкретно взятых индексов конкретно в этом запросе

Crestoff
31.03.2018
18:32:49
то есть это нужно тянуть в подзапрос все условия что и в основном?
IN и тд

Anton
31.03.2018
18:33:01
ну да
возможно у тебя там по дате с гулькин нос отсекаеттся и можно будет сессионкой с хевингом
оооочень сильно короче завистит от вводных

Crestoff
31.03.2018
18:33:39
да вот и не хотлось бы этот вагон условий в подзапрос тянуть
уродливо как-то

Anton
31.03.2018
18:34:05
ттак они у тебя из запроса уйти могут

Crestoff
31.03.2018
18:34:19
ааа, точно

Anton
31.03.2018
18:34:46
не точно. Зависит отт индексов в таблице))))

Crestoff
31.03.2018
18:34:59
да индексы то добавлю

Anton
31.03.2018
18:35:05
может у ттебя индекс тока по домеену например, кто вас знает...

Crestoff
31.03.2018
18:35:06
какие нужно

Google

Anton
31.03.2018
18:35:21
причём в таком порядке

Crestoff
31.03.2018
18:36:00
вроде я понял тебя, спасибо!
это подойдёт

Anton
31.03.2018
18:36:47
повторюсь, один из тех примеров, при которых недавний опус @MasterZiv как никогда хорошо подходит - очень зависит от того, что под капотом.
настройки/индексы/профиль данных(самое важное)
я тебе более-менее универсально подсказал. НЕ факт, что это будет самое быстрое в твоём случае

Crestoff
31.03.2018
18:38:06
да это статса в админке, не нужно её надрачивать
не будет 5к запросов в сек)
так что уверен, что решение в данном случае подходящее

Ilia
31.03.2018
19:28:28

Crestoff
31.03.2018
19:29:03
да уже ничем не мешает
когда условия перекочевали в субзапрос

Ilia
31.03.2018
19:33:03

Crestoff
31.03.2018
19:34:28
да записей не более 500
может 1к

Artem
01.04.2018
06:28:34
Попробуй так.
SELECT sum(revenue) FROM log_profit
JOIN (SELECT time FROM log_profit ORDER BY time) s ON (log_profit.time = s.time) GROUP BY log_profit.time

Игорь
01.04.2018
10:29:33
Товарищи, кто знает хорошую литературу по mongodb? Кроме документации, разумеется

Denis
01.04.2018
11:02:14
Ничего нет лучше доков как бы не баянисто это было - там у них на оф сайте можно курс пройти - видео короткие + задания --дают диплом

Ilia
01.04.2018
20:22:47

Google

Dmitry
02.04.2018
09:22:15
Всем привет! Ай нид хелп. Пытаюсь сделать бекап Postgres на локальной машине. При запуске sudo -u postgres pg_basebackup -D /mnt/nfs/backup01/$(date +%Y-%m-%d-%H-%M)-full-speech-pro -Ft -z -P —xlog-method=fetch получаю pg_basebackup: не удалось подключиться к серверу: FATAL: no pg_hba.conf entry for replication connection from host "[local]", user "postgres", SSL off В pg_hba есть # IPv4 local connections:
host all all 127.0.0.1/32 trust
Что я делаю не так?\

Vladislav
02.04.2018
09:26:17
не настроел pg_hba

Dmitry
02.04.2018
09:38:49
не настроел pg_hba
но что ему нехватат? host all all 127.0.0.1/32 trust ему, понимаешь, мало

Vladislav
02.04.2018
09:39:41
если я правильно помню, для реплики есть отдельный критерий в конфиге

Dmitry
02.04.2018
10:37:47

Mengi
03.04.2018
03:50:20
Всем привет! а кто нибудь использует для вывода отчетов JasperReports? как вывести excel с листами в нем не подскажете? ?

Artem
03.04.2018
04:38:34

Mikhail
03.04.2018
11:52:09
Господа, привет. Есть ли умеренно долгий способ в mysql 5.7 нарезать существующую таблицу с кучей данных на ежедневные партиции?
изначально таблица была создана без партиций и вот "внезапно" разрослась

Vladislav
03.04.2018
11:55:20
взять и создать
тут скорее важен не столько вопрос времени, сколько доступности

Mikhail
03.04.2018
11:56:40
вопрос доступности остро не стоит, имеется ввиду создать партицированную таблицу и перелить туда данные?

lost
03.04.2018
11:57:31
репликация присутствует, или один сервер?

Mikhail
03.04.2018
11:57:34
один

Al
03.04.2018
14:10:32

Ilia
03.04.2018
15:25:16

Mikhail
03.04.2018
15:25:59
да уже в процессе

Ilia
03.04.2018
15:27:19

Юра
03.04.2018
23:01:46
Table A
- id pk
- name
И
Table B
- a_id1 pk fk A
- a_id2 pk fk A
- name
SELECT a_id1, a_id2 FROM B WHERE name = '...';
Вернет мне пары A.id, как мне их заменить на A.name?

promikhail
04.04.2018
02:08:43
ну есть join