Câu hỏi phỏng vấn MySQL
Câu hỏi

Both TIMESTAMP and DATETIME are used to store data and time. Explain difference between them and when
should one be used?

Câu trả lời

In MySQL, both TIMESTAMP and DATETIME data types are used to store date and time information, but they have some key differences that affect their usage in various scenarios.

Key Differences

  1. Range:

    • DATETIME: Can store dates and times from '1000-01-01 00:00:00' to '9999-12-31 23:59:59'[1][2].
    • TIMESTAMP: Stores dates and times from '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC[1][2]. This range is limited due to TIMESTAMP's historical ties to Unix time, which counts seconds since the Unix Epoch (January 1, 1970).
  2. Time Zone Handling:

    • DATETIME: Does not store any timezone information. It represents the same moment regardless of the timezone setting of the MySQL server[1][2][5].
    • TIMESTAMP: Automatically converts stored values from the current timezone of the MySQL server to UTC for storage, and back from UTC to the current timezone for retrieval[1][2][5]. This feature makes TIMESTAMP suitable for applications that handle data across multiple time zones.
  3. Storage Size:

    • DATETIME: Requires 5 bytes of storage, plus additional bytes for fractional seconds precision[2][3].
    • TIMESTAMP: Generally requires 4 bytes, plus up to 3 additional bytes for fractional seconds precision[2][3].

Usage Recommendations

  • Use DATETIME:

    • When you need to store a date and time without any concern for time zone conversions, such as birthdates or scheduled events that are time-zone independent[1][2].
    • When you need to store dates and times outside the range supported by TIMESTAMP, especially historical or far future dates.
  • Use TIMESTAMP:

    • When you need to record events that happen in a system, particularly in applications that are distributed across different time zones[1][2].
    • For any data that benefits from automatic timezone adjustment. This is particularly useful for web applications where users across different time zones need to see times converted to their local contexts.
    • When storage space is a concern, as TIMESTAMP typically uses less space than DATETIME.

Co...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

What is difference between BLOB and TEXT in MySQL?

middle

What are Derived Columns. What possible problems can a derived column pose?

expert

Why you should never use GUIDs as part of clustered index?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào