Mysql compaire две даты от даты и времени?

0

Я пытался измерить, что быстрее, и что должно быть лучшим способом сравнить две даты, из записи datetime в MySql db. Существует несколько способов захвата даты с даты, но я был сосредоточен на двух, чтобы использовать функцию DATE, а во-вторых, использовать функцию LEFT, что-то вроде этого

ДАТА (created_on)

а для LEFT-функции

ЛЕВЫЙ (created_on, 10)

похоже, что эти функции работают на моей стороне. есть ли лучшее решение? или более быстрое решение?

  • 0
    DATE () как раз для этого. LEFT () работает благодаря автоматическому преобразованию типов и представлению фиксированной даты MySQL. Я полагаю, что это не то, что замедляет вас в любом случае: чтение страниц таблицы с диска - это на несколько порядков более тяжелая операция.
Теги:
datetime
date

1 ответ

1
Лучший ответ

Лучше всего всегда использовать функцию, которая делает то, что предназначена для вашей цели. Поскольку вы хотите получить дату в поле даты, используйте функцию DATE.

Если ваша цель состоит в том, чтобы получить левое большинство 10 символов поля даты, используйте функцию LEFT.

Для всех практических целей результаты, вероятно, одинаковы. Но единственной константой в разработке программного обеспечения является изменение. Например, что, если MySql решил, что они хотят изменить способ хранения дат в следующей версии, скажем, как эпоха (или количество тиков с определенной даты). Ваш код, который использует функцию LEFT, может выйти из строя или вернуть нежелательные результаты. Код, который использует функцию DATE, будет продолжать работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню