Order By почему бы не PK просто вместо created_at?

Vano

Новичок
Как думаете никаких приколов не будет, если писать ORDER BY $pk вмесето created_at? При идеальном условии что PK только аутоинкрементом будет создаватся.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Почему создал в теории? Где теория, и где вообще программирование?
 

Vano

Новичок
По первичному ключу (автоинкрементном) сортировать лучше чем по дате создания? Явно же быстрее будет выборка
 

AnrDaemon

Продвинутый новичок
Какая нафиг разница, если на поле индекс?
Сортируй так, как тебе данные удобно доставать. Не морочь голову ни себе, ни людям.
 

AnrDaemon

Продвинутый новичок
На сколько от этого ускоряется работа всего приложения?
 

Vano

Новичок
2к записей. По полю даты 0.023с, по первичному ключу 0.017с. Поставил индекс на дату стало 0.022с
 

Vano

Новичок
Значит быстрее, вопрос только в том, не всплывет ли где проблема из-за такого ордера.
 

AnrDaemon

Продвинутый новичок
Я задал другой вопрос. На сколько (в процентах) меняется скорость выполнения ВСЕГО ПРИЛОЖЕНИЯ?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Мне кажется, что если ты ставишь тот или иной ордер - ты должен САМ отдавать себе отчет в том, что может "что-то вылезти". Другой вопрос что created_date и первичный ключ могут в теории идти не нога в ногу.
 

Vano

Новичок
Эй приятель, здесь я задаю вопросы. )) та не знаю, трудно сказать, наверное на 0.5% максимум
 

AnrDaemon

Продвинутый новичок
Эй приятель, здесь я задаю вопросы. )) та не знаю, трудно сказать, наверное на 0.5% максимум
Стоят эти 0,5% твоих терзаний сейчас? При том, что всё работвет корректно.
Я понимаю, когда у человека запрос в 50 раз медленнее выполняется. Но это явно не твой случай.
 
  • Like
Реакции: Vano

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@AnrDaemon да он сам не понимает, что если у него каким-то магическим образом на created_date может влиять юзер - то да, получить выборку чисто по дале и верно - можно только сортировав по полю с датой. А если же они идут параллельно с PK, то сортировка по PK приоритетней.
 

Vano

Новичок
Ты не прав обо мне. Я понимаю что разными могут быть сорты ПК и Даты. Я ж написал в начале, если брать идеальный вариант что ПК назначается только по порядку. А дата создания ... я так привык, что она неприкосновенна и нужна для того, чтобы явно знать когда создалась запись в БД, для пользователя создаю какое-нибудь другое поле.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Да, так и есть. Туту явный пример с асимметрией значений ключей, что дает низкую селективность по оценке БД (обратная зависимость от кардинальности, на основе селективности БД принимает решение о использовании индекса), но в реальности фулл-скан в такой ситуации выгодней и индекс скорее всего, будет вредить.
 

hell0w0rd

Продвинутый новичок
Да, так и есть. Туту явный пример с асимметрией значений ключей, что дает низкую селективность по оценке БД (обратная зависимость от кардинальности, на основе селективности БД принимает решение о использовании индекса), но в реальности фулл-скан в такой ситуации выгодней и индекс скорее всего, будет вредить.
А для построения частичных индексов постгресом тоже не влияет? (create index ... where deleted_at is null)
 

antson

Новичок
Партнер клуба
про перевод времени помним ?
то оно есть,то его нет, а функция все толще и толще из-за исключений.
 
Сверху