@Programmir

Стоит ли использовать сортировку по id вместо даты?

Есть индексированное int поле "date", куда записывается time(). Является ли хорошей практикой использовать вместо этого id? Просто подумал, что по уникальному id будет быстрее сортировка, да и time может быть одинаковым. Просто, если логически подумать, раз id больше, значит, запись была произведена позже. В ином случае, значит, есть ошибка в базе данных. К тому же, если я не собираюсь показывать дату, то поле "date" можно даже убрать.
  • Вопрос задан
  • 377 просмотров
Пригласить эксперта
Ответы на вопрос 3
Captain
@Captain
На скорость это не повлияет. Если логика завязана на очередность операций, то да, лучше по id сортировать.
Ответ написан
Комментировать
1. На скорость это повлияет так:
Без индекса по полю "date" выборка будет, естественно, более ресурсоёмкой. Но если добавить индекс только для этой задачи, то более ресурсоёмкой станет запись (перестраивать придётся оба индекса, а не один индекс по id).
2. В общем случае, порядок записи в БД и порядок возникновения события - это не одно и то же, но
- разница обычно не превышает долей секунд
- если вы используете time() MySQL-ную, эта разница становится вообще бессмысленной
Ответ написан
@bkosun
ID могут быть перемешаны, это зависит от множества факторов, например наличие репликации, транзакции, задержки в сети и т.д.

Правильно будет сортировать по дате

stackoverflow.com/questions/34720247/sorting-on-id...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы