×

Lưu trữ số nguyên lớn với INT8 trong MySQL

Trong MySQL, việc lưu trữ số nguyên là một trong những nhiệm vụ quan trọng và được thực hiện bằng cách sử dụng các kiểu dữ liệu khác nhau như TINYINT, SMALLINT, MEDIUMINT, INT, và BIGINT. Tùy vào kích thước của số nguyên mà bạn muốn lưu trữ, bạn sẽ chọn loại phù hợp. Với INT8, chúng ta cần quan tâm đến khả năng lưu trữ và hiệu sửa của nó trong MySQL.

Kiểu dữ liệu TINYINT trong MySQL

TINYINT là loại dữ liệu có phạm vi nhỏ nhất trong các loại số nguyên, thường được sử dụng để tiết kiệm không gian lưu trữ khi bạn biết trước rằng giá trị số nguyên sẽ nằm trong phạm vi nhỏ. Cụ thể, TINYINT có thể lưu trữ các số nguyên trong phạm vi từ -128 đến 127 cho biến có dấu và từ 0 đến 255 cho biến không dấu (UNSIGNED).

Ví dụ:

CREATE TABLE sample_table (
    tinyint_column TINYINT,
    tinyint_unsigned_column TINYINT UNSIGNED
);

Giới hạn của TINYINT

Vì phạm vi của TINYINT khá nhỏ nên khi cần lưu trữ các số lớn hơn, bạn sẽ gặp phải giới hạn về dung lượng. Đặc biệt khi bạn đang làm việc với dữ liệu có giá trị vượt quá 127 hoặc cần lưu trữ các số âm ngoài phạm vi -128 đến 127, bạn sẽ cần phải chuyển sang sử dụng các loại dữ liệu khác như SMALLINT, MEDIUMINT, hoặc INT.

Lựa chọn cho số nguyên lớn

Để lưu trữ số nguyên có giá trị lớn hơn, bạn có thể lựa chọn các loại số nguyên khác có dung lượng lưu trữ lớn hơn, cụ thể:

  • SMALLINT: Phạm vi từ -32,768 đến 32,767 cho biến có dấu và từ 0 đến 65,535 cho biến không dấu.
  • MEDIUMINT: Phạm vi từ -8,388,608 đến 8,388,607 cho biến có dấu và từ 0 đến 16,777,215 cho biến không dấu.
  • INT: Phạm vi từ -2,147,483,648 đến 2,147,483,647 cho biến có dấu và từ 0 đến 4,294,967,295 cho biến không dấu.
  • BIGINT: Phạm vi từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807 cho biến có dấu và từ 0 đến 18,446,744,073,709,551,615 cho biến không dấu.

Ví dụ lưu trữ bằng cách sử dụng INT:

CREATE TABLE large_numbers (
    int_column INT,
    int_unsigned_column INT UNSIGNED
);

Kết luận

Sử dụng kiểu dữ liệu phù hợp cho số nguyên là việc vô cùng quan trọng trong quá trình thiết kế cơ sở dữ liệu. Mặc dù TINYINT tiết kiệm không gian lưu trữ nhưng nó chỉ phù hợp với các giá trị nhỏ. Nếu bạn cần lưu trữ số nguyên lớn, hãy cân nhắc sử dụng các loại dữ liệu như INT hoặc BIGINT để đảm bảo tính toàn vẹn và hiệu suất của dữ liệu.

Hãy luôn xem xét kĩ các yêu cầu cụ thể của ứng dụng để chọn kiểu dữ liệu phù hợp, từ đó tối ưu lưu trữ và truy vấn hiệu quả.

Comments