
Ivan
05.12.2017
11:06:27
1001

Vladislav
05.12.2017
11:10:20
у вас треть уходит тупо на джойн
далее сделайте индексы на lat и lng по отдельности

Google

Vladislav
05.12.2017
11:12:33
после этого напишите, что стало и какой план

Ilia
05.12.2017
11:13:06
почему?
Блин, потому что уж какие агрегации тебе нужно делать ты должен решить сам.
И какие бы ты ни делал в том запросе, производительность его не изменится.

Vladislav
05.12.2017
11:14:32
спокуха

Alexander
05.12.2017
11:15:15
1002
Вмем привет

Vladislav
05.12.2017
11:15:56
опять 1001
уже третий раз

Ilia
05.12.2017
11:16:23
1002
А вот это вы зачем пишете?
ЭТо число подписчиков чата что ли ?

Alexander
05.12.2017
11:17:06
Да, выше написали 1001 и я заинкрементил

Google

Alexander
05.12.2017
11:17:10
)

Vladislav
05.12.2017
11:27:05
Другое дело, что это будет какой то ахтунговый вариант

viktor
05.12.2017
11:33:24
Вернее какю именно логику в индексы оборачивать ?

Vladislav
05.12.2017
11:34:21
Вы пока сделайте выше и покажите план
Ну и запрос

viktor
05.12.2017
11:39:29
да, делаю
вот что вышло
щас попробую с разынми индексами

Vladislav
05.12.2017
12:17:13
сам запрос какой? и сколько отрабатывался?
а, запрос вижу
сколько по времени?

Илья
05.12.2017
12:26:55
Переношу данные из старых баз. В одной таблице записей несколько тысяч. Не так уж много. Но при переносе у меня переодически отваливается сервак (mysql): Exception 'yii\db\Exception' with message 'PDOStatement::execute(): MySQL server has gone away. Переношу блоками по 50 записей. Куда уж меньше даже не знаю. Почему еще оно может валиться?

Vladislav
05.12.2017
12:29:27
а может наоборот, попробовать больше? ?
а вообще, логи сервера надо смотреть

Илья
05.12.2017
12:29:51

Vladislav
05.12.2017
12:30:10
чтож там за сервер то о_0

Google

Илья
05.12.2017
12:30:19

Vladislav
05.12.2017
12:30:29
чё?

Илья
05.12.2017
12:30:44
https://ospanel.io/

Vladislav
05.12.2017
12:31:24
понятно
я просто промолчу ?

Ilia
05.12.2017
12:33:00

Илья
05.12.2017
12:33:23

Ilia
05.12.2017
12:33:46

Vladislav
05.12.2017
12:34:20
смотри логи и разгребай, что там за Г в этой ospanel

Илья
05.12.2017
12:36:10

Vladislav
05.12.2017
12:36:31

ко?TEXHIK
05.12.2017
12:38:03
а какова сложность добавления строки в индексированную таблицу? (пусть индек будет по 1 колонке)

ко?TEXHIK
05.12.2017
12:38:16
она равна сложности добавления в индекс?

Vladislav
05.12.2017
12:39:05
а в чем измеряем сложность, в попугаях?

ко?TEXHIK
05.12.2017
12:39:16
в O-большом

viktor
05.12.2017
12:44:26

Vladislav
05.12.2017
12:45:27
7 секунд на какой машине? на пятерке или двацатке?

viktor
05.12.2017
12:46:46

Vladislav
05.12.2017
12:47:29
трехкратный прирост есть
а вот выжить еще... ?

Google

Ilia
05.12.2017
12:48:37

Vladislav
05.12.2017
12:48:47
Возможно оконной функцией будет быстрее считать

viktor
05.12.2017
12:49:14

Vladislav
05.12.2017
12:49:41
сейчас половина коста уходит на агрегацию
переписать на оконку и посмотреть как с ней

viktor
05.12.2017
12:50:13
но если сократить ренж координат, то за о,оооооо1 наносеку находит. я думаю на бэке чанкать по квадратам и выполнять асинхронно паралельно много запросов

Vladislav
05.12.2017
12:50:25
возможно понапилить индексы на дату

Admin
ERROR: S client not available

viktor
05.12.2017
12:50:26

ко?TEXHIK
05.12.2017
12:50:45

Vladislav
05.12.2017
12:50:53
?
COUNT(*) OVER (PARTITION BY ...

viktor
05.12.2017
12:50:53
сейчас индекс вот такой
/** Object: Index [<Name of Missing Index, sysname,>] Script Date: 05.12.2017 14:12:23 **/
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>] ON [dbo].[GeneratedData]
(
[TimeAl] ASC,
[ZoneTpId] ASC,
[Latitude] ASC,
[Longitude] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]
GO

Vladislav
05.12.2017
12:50:55
гугли
зачем составной
надо отдельный индекс на каждую колонку

viktor
05.12.2017
12:54:21

Vladislav
05.12.2017
12:55:09
отдельно на lat, отдельно на lng, отдельно на ZoneTP

viktor
05.12.2017
13:01:16

Google

viktor
05.12.2017
13:01:25
создал 4 отдельных

Vladislav
05.12.2017
13:01:49
переиндексацию делали? в плане вообще нет индекса

viktor
05.12.2017
13:07:17

Vladislav
05.12.2017
13:08:16
DDL покажите

Ilia
05.12.2017
13:09:05

ко?TEXHIK
05.12.2017
13:10:46
ээээ.... без индексов инсерт дольше?

Ilia
05.12.2017
13:11:46
она равна сложности добавления в индекс?
Да блин. O(NlogN) — сложность поддержания (модифицирования) одной индексной записи.
Само добавление записи — O(1) , константа.
Если на таблице K индексов висит, то ещё добавится K O(NlogN)
Cуммарно
O(1) + KO( NlogN ) = O( K N log N )
O(N)
(неверно)
Это я не то написал, перепутал. Это время поиска записи без индекса

viktor
05.12.2017
13:13:11

ко?TEXHIK
05.12.2017
13:13:31
то есть добавление с 1 индексом это O(N log N), инсерт без индекса O(1)?

Vladislav
05.12.2017
13:14:14

viktor
05.12.2017
14:16:06
@SLASH_CyberPunk @MasterZiv ууухспасибо вам братишки
В общем получилось увеличить перформанс до 0.2-1.2 секунды на 3кк записей

Vladislav
05.12.2017
14:17:12
а я уже испугался, куда пропал ?

viktor
05.12.2017
14:17:24
На 5 dru
Dtu

Vladislav
05.12.2017
14:18:15
Поделись для опыта, какой конечный результат то? В плане, что в итоге сделал?

Ilia
05.12.2017
14:20:44