
Mikhail
09.01.2018
08:19:04
а как ему сказать-то "верни всё"?

Vladislav
09.01.2018
08:19:51
убрать лимиты

Al
09.01.2018
08:19:52
Указать лимит больше чем примерно выборка?

Mikhail
09.01.2018
08:20:15

Google

Al
09.01.2018
08:20:37
Методом от противного

Mikhail
09.01.2018
08:21:02
да, логично

Vladislav
09.01.2018
08:21:15
сейчас гляну, где это

Al
09.01.2018
08:23:39
Так а в чем смысл? Время то выборки принципиально не изменится

Vladislav
09.01.2018
08:26:52
тут не совсем понятна проблема
по теории, этот лимит не должен был влиять на производительность, ибо все равно курсор выгружается
Records per page

Mikhail
09.01.2018
08:28:22
ага, вижу, спасибо

Котяй Негодяй
09.01.2018
08:48:20
Я ему ща отвечу, и он меня снова забанит. ?

Google

Котяй Негодяй
09.01.2018
08:52:25
Я вообще с другим вопросом обратился к сообществу. Мне на него здесь уже ответили. Спасибо. А этот вопрос поднял ты и холивар разводишь тоже ты. Я уже давно предлагаю просто закрыть тему.

?
09.01.2018
08:53:22
О Котяя вернули, спасибо ☺☺

Evgeniy
09.01.2018
09:42:50
Здравствуйте. Подскажите пожалуйста, как называется ключ состоящий из двух колонок? (UserId+DeviceId)

lost
09.01.2018
09:43:08
составной?)

Evgeniy
09.01.2018
09:44:23

Vladislav
09.01.2018
10:42:26

Evgeniy
09.01.2018
10:49:01
Ещё вопрос :) Есть таблица Many-to-many
UserDevices(UserId+DeviceId)
Нужно ли добавлять ID к этой таблице?

Vladislav
09.01.2018
10:53:51
Нет
в этом и смысл M:M

Mikhail
09.01.2018
10:54:39
Я еще раз прошелся по своему коду, и нашел два места, где не в ту дату ходил, как следствие - не попадал в индекс
быстрое тестирование показало, что сейчас 5 тыщ строк вытягивается за 4 минуты, при том, что база достаточно далеко от меня.
Отдал патч на эти функции нашим ДБА, счас накатят на большую базу, буду смотреть
но это уже на что-то похоже
пусть репорт на 20к строк будет строиться 20 минут - нас это устраивает. Начинали-то мы с 8 часов

Evgeniy
09.01.2018
10:57:13
в этом и смысл M:M
щас прочитал, если понадобится добавить в эту таблицу foreign key, то лучше иметь отдельный Id

Vladislav
09.01.2018
10:57:59

Evgeniy
09.01.2018
11:01:39
Кто его знает, вдруг в будущем надо будет связать таблицу UserDevices и ConnectionHistory какой-то

Google

Vladislav
09.01.2018
11:03:45
с разными ролями
а все потому, что вы слепили суррогатный ключ

Evgeniy
09.01.2018
11:05:16
но если я выкину ID, то я смогу потом сослаться из ConnectionHistory?

Vladislav
09.01.2018
11:07:05
да можно не выкидывать, просто надо как-то это будет учитывать
тут скорее бизнес-логика

Evgeniy
09.01.2018
11:10:26
Хорошо, спасибо)

ко?TEXHIK
09.01.2018
12:36:16
Чатик, а по скорости выполнения будет разница?
SELECT count FROM t1 WHERE col in (SELECT col FROM t2 WHERE foo=bar) GROUP BY col
SELECT count FROM t1 JOIN t2 ON t1.col=t2.col WHERE t2.foo=bar GROUP BY t1.col

Sergey
09.01.2018
12:37:53

ко?TEXHIK
09.01.2018
12:38:34
Как шустрее? t1 огромая, из t2 7 айдишников берется

Sergey
09.01.2018
12:38:49
зависит от БД

ко?TEXHIK
09.01.2018
12:39:06
postgres 9.6

ко?TEXHIK
09.01.2018
12:39:35
Ато я вот уже пообедал а он всё еще считает

Sergey
09.01.2018
12:40:08
попробуй сравнить на меньшей выборке

ко?TEXHIK
09.01.2018
12:41:20
Ну то есть это как i+++++i в сях?)

Vladislav
09.01.2018
12:41:22

Sergey
09.01.2018
12:42:09

Dmitry
09.01.2018
12:42:46
Всем привет. Проблема с запуском SQL... Призапуске переходит в состояние работает. Если обновить службы то через секунду уже в нерабочем состоянии.

Vladislav
09.01.2018
12:43:02

Sergey
09.01.2018
12:43:12
хотя в postgres может и не быть

Google

Vladislav
09.01.2018
12:43:23
И второй наверно шустрее будет

ко?TEXHIK
09.01.2018
12:43:59

Sergey
09.01.2018
12:44:05
в mysql и mariadb на разных версиях вложенные запросы могли в 3 раза быстрее работать чем join, на одних и тех же данных

Dmitry
09.01.2018
12:46:00
Хорош спорить. лучше помогите с SQL. Не запускается нифига служба. Переходит в состояние работает и через секунду сбрасывается. Такая же фигня и с другими службами
В чем возможная причина?

Ilia
09.01.2018
12:47:03
В кривых руках...
...о которых все изложено в логах

Dmitry
09.01.2018
12:47:43
Там все работало раньше

Admin
ERROR: S client not available

ко?TEXHIK
09.01.2018
12:48:13

Ilia
09.01.2018
12:48:58
Если он даже вопрос не может как следует задать кто же ему поможет...

Sergey
09.01.2018
12:49:12

Ilia
09.01.2018
12:49:35

Dmitry
09.01.2018
12:49:36
Так ошибок нет
Не запускается служба sql

Sergey
09.01.2018
12:50:04
для начала, какой sql?

Ilia
09.01.2018
12:50:07

Dmitry
09.01.2018
12:50:22
SQL server 2012
Ms sql

Sergey
09.01.2018
12:51:00
как ты узнал что ошибок нет?

Google

Dmitry
09.01.2018
12:52:50
При остановке и запуске службы все проходит стабильно. Потом работа завершается sql
Я даже не могу зайти в SQL чтобы что-то проверить

Sergey
09.01.2018
12:53:54
т.е. ты решил что ошибок нет только по косвенным признакам службы sql server?

Ilia
09.01.2018
12:54:05
Не надо никуда заходить, в логи смотри....

Dmitry
09.01.2018
12:55:18
Ладно. Попробую что-то сделать

Samat
09.01.2018
14:34:16
ребят, подскажите, пожалуйста. есть вот такая выборка:
select students.id, students.balance, SUM(student_balance_histories.value)+COALESCE(students.start_balance,0) FROM students left join student_balance_histories on students.id = student_balance_histories.student_id GROUP BY students.id
можно ли теперь вывести только значения, где не совпадает students.balance <> (SUM(...)+COALESCE(...))?

Vladislav
09.01.2018
14:38:43
HAVING

Stanislav
09.01.2018
14:39:07
+1
select students.id, students.balance, SUM(student_balance_histories.value)+COALESCE(students.start_balance,0) FROM students left join student_balance_histories on students.id = student_balance_histories.student_id GROUP BY students.id HAVING students.balance <> (SUM(...)+COALESCE(...))

Samat
09.01.2018
14:42:05
#1054 - Неизвестный столбец 'students.start_balance' в 'having clause'

Vladislav
09.01.2018
14:42:45
до group by

Sergey
09.01.2018
14:43:00

Vladislav
09.01.2018
14:43:22
а не

Samat
09.01.2018
14:44:16
запрос целиком
select students.id, students.balance, SUM(student_balance_histories.value)+COALESCE(students.start_balance,0) FROM students left join student_balance_histories on students.id = student_balance_histories.student_id GROUP BY students.id HAVING students.balance <> SUM(student_balance_histories.value)+COALESCE(students.start_balance,0)

Vladislav
09.01.2018
14:44:50
хотя уже вижу, группировка только по id, отсутствует группировка по balance и start_balance
но если сделать по ним группировку, то результат скорее всего будет не тот, который ожидается

lost
09.01.2018
14:46:13

Samat
09.01.2018
14:46:16
да

lost
09.01.2018
14:46:39
set global sql_mode = '';