Size: a a a

2020 June 22

IS

I Scarab in Yii Framework 2
Artyom
смысл в том что таблице пишется insert on duplicate update
Для этого придумали unique constraint. У primary key смысл другой немного. И с составными ключами там есть нюансы - кто его знает, что придумает оптимизатор. Вообще гарантированно составной индекс работает только если в условии используются все входящие в индекс поля.
источник

АЯ

Андрей Ява in Yii Framework 2
I Scarab
Для этого придумали unique constraint. У primary key смысл другой немного. И с составными ключами там есть нюансы - кто его знает, что придумает оптимизатор. Вообще гарантированно составной индекс работает только если в условии используются все входящие в индекс поля.
и в правильном порядке
источник

IS

I Scarab in Yii Framework 2
Именно так.
источник

IS

I Scarab in Yii Framework 2
Так что без explain select тут просто не о чем разговаривать, да.
источник

A

Artyom in Yii Framework 2
I Scarab
Для этого придумали unique constraint. У primary key смысл другой немного. И с составными ключами там есть нюансы - кто его знает, что придумает оптимизатор. Вообще гарантированно составной индекс работает только если в условии используются все входящие в индекс поля.
и какой же смысл? =) т.е. мне нужно было два индекса сделать?😅
источник

A

Artyom in Yii Framework 2
причем идентичных?
источник

IS

I Scarab in Yii Framework 2
Primary key по смыслу - это поле или набор полей, однозначно идентифицирующих запись в таблице. В этом плане как раз использование связки pupil-id и даты не очень корректно - теоретически вполне же возможно две транзакции на одного ученика в одну секунду, почему нет?
источник

IS

I Scarab in Yii Framework 2
Если надо обеспечить уникальность - делается unique constraint. Если надо построить индекс - делается индекс.
источник

IS

I Scarab in Yii Framework 2
Смешивать эти вещи... Ну можно, конечно, но неизящно.
источник

a

atcq (Алексей)... in Yii Framework 2
Artyom уйдет из этого чата явно поумневшим, но без решенной задачи )
источник

A

Artyom in Yii Framework 2
I Scarab
Primary key по смыслу - это поле или набор полей, однозначно идентифицирующих запись в таблице. В этом плане как раз использование связки pupil-id и даты не очень корректно - теоретически вполне же возможно две транзакции на одного ученика в одну секунду, почему нет?
это баланс на дату, не может там две записи на дату.
источник

A

Artyom in Yii Framework 2
и ты противоречишь сам себе тогда с unique
источник

A

Artyom in Yii Framework 2
I Scarab
Если надо обеспечить уникальность - делается unique constraint. Если надо построить индекс - делается индекс.
ничего что pk это есть индекс? причем лучше такого индекса вряд-ли? а, скажи еще что нужно было обычный pk использовать c auto_increment 👍
источник

A

Artyom in Yii Framework 2
atcq (Алексей)
Artyom уйдет из этого чата явно поумневшим, но без решенной задачи )
Моя задача решена, суть вопроса была в том, что можно ли найти нужные даты, которые могут в диапазон не попасть, например, начало периода с месяц назад, но баланса нет на эту дату для скажем 1000 человек, я вынужден искать последние записи этих балансов которые были до этой даты.
источник

a

atcq (Алексей)... in Yii Framework 2
Artyom
Моя задача решена, суть вопроса была в том, что можно ли найти нужные даты, которые могут в диапазон не попасть, например, начало периода с месяц назад, но баланса нет на эту дату для скажем 1000 человек, я вынужден искать последние записи этих балансов которые были до этой даты.
было бы здорово выложить какой-то обезличенный/синтетический датасет и упрощенный запрос по нему
источник

IS

I Scarab in Yii Framework 2
Artyom
это баланс на дату, не может там две записи на дату.
тогда откуда там поля credit и debit? А если в одну дату будет две операции? положили 100 рублей, потом через 1 секунду ещё 100 рублей.
источник

IS

I Scarab in Yii Framework 2
Artyom
ничего что pk это есть индекс? причем лучше такого индекса вряд-ли? а, скажи еще что нужно было обычный pk использовать c auto_increment 👍
можно было вообще pk не использовать, если нет в нём необходимости. Это Yii всегда лепит id.
источник

A

Artyom in Yii Framework 2
может кто сталкивался, команда жрет уже под 8гб, при этом в php memory_limit 256mb и у него пик сейчас показывает до 70мб. Очень надеюсь что это какой-то баг.
источник

A

Artyom in Yii Framework 2
и своп еще 14гб фиг знает чем забит.
источник

A

Artyom in Yii Framework 2
7.4.2
источник