@dba_ru

Страница 329 из 718
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
почему?
Блин, потому что уж какие агрегации тебе нужно делать ты должен решить сам.

И какие бы ты ни делал в том запросе, производительность его не изменится.

далее сделайте индексы на lat и lng по отдельности
Какие индексы там, если он хочет ВСЁ СРАЗУ ? Ничего не будет использоваться.

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
чтож там за сервер то о_0
опенсервер под виндой

Vladislav
05.12.2017
12:30:29
чё?

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

Vladislav
05.12.2017
12:31:24
понятно

я просто промолчу ?

Илья
05.12.2017
12:33:23
Network problems. Check your network with your system administrator.
че? причем тут сеть лол, база локально развернута

Ilia
05.12.2017
12:33:46
я просто промолчу ?
Я тогда тоже помолчу...

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

Илья
05.12.2017
12:36:10
смотри логи и разгребай, что там за Г в этой ospanel
опенсервер рулит, нет ничего круче его

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 секунд на какой машине? на пятерке или двацатке?

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

а вот выжить еще... ?

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

viktor
05.12.2017
12:49:14
трехкратный прирост есть
ну да, было 26-30 сек, стало 6-9

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

ко?TEXHIK
05.12.2017
12:50:45
O(log N)
а без индекса столько же?...

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: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
переиндексацию делали? в плане вообще нет индекса
В смысле нет индекса, я создал 4 индекса, на инцидент, дату, и лат/лнг

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
DDL покажите
это вы мне?

ко?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
Поделись для опыта, какой конечный результат то? В плане, что в итоге сделал?

Страница 329 из 718