Size: a a a

2020 April 24

E

Eugene in ru_mysql
какой запрос в итоге обсуждаем?
источник

GK

Grigori Kochanov in ru_mysql
отличный вопрос
источник

А

Александр in ru_mysql
Grigori Kochanov
тут группировка по всей выборке с большим количеством записей
в pg можно было бы сделать оконную функцию
я и написал через оконную функцию
источник

A

Alexey in ru_mysql
Eugene
какой запрос в итоге обсуждаем?
SELECT MAX(id) as id, item_id FROM comments WHERE stat=1 GROUP BY item_id ORDER BY id DESC LIMIT 20
источник

ls

løst søul in ru_mysql
Слышал Шорохи
Это не для пользователей. Это техническая операция накатки на прод апгрейдов
а тестами эту проблему решить нельзя?
источник

GK

Grigori Kochanov in ru_mysql
скажем так, небольшая денормализация - обычная практика в случае с OLTP, обновлять связь в транзакции при добавлении нового комментария и сохранить легкие оптимальные запросы - надежнее, чем решать проблемы с CTE
источник

GK

Grigori Kochanov in ru_mysql
Александр
я и написал через оконную функцию
CTE - это не оконная функция
источник

А

Александр in ru_mysql
Grigori Kochanov
скажем так, небольшая денормализация - обычная практика в случае с OLTP, обновлять связь в транзакции при добавлении нового комментария и сохранить легкие оптимальные запросы - надежнее, чем решать проблемы с CTE
в целом согласен
источник

А

Александр in ru_mysql
Grigori Kochanov
CTE - это не оконная функция
CTE - нет, ROW_NUMBER - да
источник

E

Eugene in ru_mysql
как вижу индекс должен быть составной и состоять из трех полей:
id, item_id, stat
в след. порядке
stat
item_id
id
причем можно поиграть с этим. возможно, ускорит
источник

СШ

Слышал Шорохи in ru_mysql
løst søul
а тестами эту проблему решить нельзя?
Не. К сожалению нет.
источник

А

Александр in ru_mysql
Eugene
как вижу индекс должен быть составной и состоять из трех полей:
id, item_id, stat
в след. порядке
stat
item_id
id
причем можно поиграть с этим. возможно, ускорит
немного ускорит, т.к. будет только Using index, т.е. все выбираемые данные будут находится в индексе, но не слишком сильно, т.к. всё-равно необходимо будет весь индекс сканить
источник

E

Eugene in ru_mysql
сканить индекс гораздо быстрее, чем всю таблицу, тем более тут только числа
источник

E

Eugene in ru_mysql
еще id в порядке DESC указал бы
источник

E

Eugene in ru_mysql
в индексе
источник

А

Александр in ru_mysql
Eugene
сканить индекс гораздо быстрее, чем всю таблицу, тем более тут только числа
слово "гораздо" тут лишнее
источник

E

Eugene in ru_mysql
Александр
слово "гораздо" тут лишнее
придираешься
источник

А

Александр in ru_mysql
нет, это не на порядки будет ускорение
источник

GK

Grigori Kochanov in ru_mysql
Eugene
придираешься
просто это неправильное решение
источник

А

Александр in ru_mysql
скорее всего даже не в разы
источник