Всем привет! Хочу сделать возможность сортировки строк по времени последнего обновления определенного столбца. Это время хранить буду в той же строке для удобства. Вопрос Как лучше хранить время обновления столбца: как два столбца date(z) и date(y), или как time()? Хотелось бы, чтобы MySQL наилучшим образом быстро делал сортировку/выборки строк по заданным диапазонам времени обновления.
Как TIMESTAMP. Если создадите колонку с типом TIMESTAMP без параметров, то при обновлении информации в строке автоматически будет обновляться время и в колонке с типом TIMESTAMP. Если у вас колонка с типом TIMESTAMP не одна, то для того чтобы время в одной из колонок с типом TIMESTAMP обновлялось автоматически, создавайте ее с параметрами DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP (в таблице может быть только одна колонка типа TIMESTAMP с CURRENT_TIMESTAMP в качестве параметра).
Время последнего обновления у меня записывается средствами PHP, т.к. мне нужно отслеживать изменения только определенных столбцов, а не любых в строке. А с точки зрения производительности насколько целесообразно? Что, если UNIX тайм обрезать (часы-минуты-секунды), сократив только до дней-лет? Или использовать два столбца где отдельно хранить номер дня и номер года?
turrel, по памяти напишу, что TIMESTAMP занимает 4 байта, а DATETIME 8 байт, дома есть книжка, могу посмотреть, написать подробнее