×

Làm việc với kiểu dữ liệu BIGINT trong MySQL

Kiểu dữ liệu BIGINT trong MySQL là một trong những kiểu dữ liệu số quan trọng, được thiết kế để lưu trữ các giá trị số nguyên rất lớn, vượt xa khả năng của các kiểu dữ liệu khác như INT hoặc TINYINT. Việc hiểu rõ và sử dụng đúng cách kiểu dữ liệu BIGINT giúp đảm bảo hiệu suất và khả năng mở rộng của cơ sở dữ liệu.

Đặc điểm kỹ thuật của BIGINT

  • Phạm vi giá trị: BIGINT có thể lưu trữ các số nguyên từ -9223372036854775808 đến 9223372036854775807 cho giá trị có dấu (signed) và từ 0 đến 18446744073709551615 cho giá trị không dấu (unsigned).
  • Kích thước lưu trữ: Mỗi giá trị BIGINT chiếm 8 byte trong cơ sở dữ liệu.

Khi nào nên sử dụng BIGINT

  1. Ứng dụng yêu cầu lưu trữ số liệu lớn: Khi bạn cần lưu trữ các giá trị vượt quá phạm vi của INT (-2147483648 đến 2147483647), chẳng hạn như số liệu dân số, doanh thu khổng lồ hoặc mã số độc đáo trong các hệ thống lớn.
  2. Chuẩn bị cho tương lai: Nếu bạn dự đoán dữ liệu của mình sẽ tăng trưởng vượt mức INT trong tương lai, sử dụng BIGINT từ ban đầu có thể giúp tránh việc phải thay đổi cấu trúc dữ liệu sau này.

Cách khai báo và sử dụng BIGINT

Tạo bảng với cột BIGINT

Khi tạo một bảng mới, bạn có thể xác định cột sử dụng kiểu dữ liệu BIGINT như sau:

CREATE TABLE khach_hang (
    id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    ten VARCHAR(255) NOT NULL,
    tuoi INT,
    PRIMARY KEY (id)
);

Chèn dữ liệu vào bảng

Khi đã tạo bảng, việc chèn dữ liệu vào bảng với cột BIGINT cũng giống như các kiểu dữ liệu khác:

INSERT INTO khach_hang (ten, tuoi) VALUES ('Nguyen Van A', 30);

Truy vấn dữ liệu

Bạn có thể thực hiện các truy vấn đơn giản hoặc phức tạp để lấy dữ liệu từ các bảng có sử dụng BIGINT:

SELECT id, ten, tuoi FROM khach_hang WHERE id > 1000;

Lưu ý khi sử dụng BIGINT

  1. Hiệu suất lưu trữ: Do chiếm 8 byte, BIGINT có thể tiêu tốn nhiều không gian hơn so với các kiểu dữ liệu nhỏ hơn. Do đó, chỉ nên sử dụng BIGINT khi thực sự cần thiết để tối ưu hóa không gian lưu trữ.
  2. Toán tử và hàm số học: Khi thao tác với BIGINT, hãy chú ý các toán tử và hàm số học như +, -, *, / sẽ có độ chính xác cao, nhưng trong một số ngữ cảnh hiệu suất có thể bị ảnh hưởng so với việc sử dụng INT.
  3. Chuyển đổi kiểu dữ liệu: Khi thực hiện chuyển đổi từ kiểu dữ liệu nhỏ hơn lên BIGINT hoặc ngược lại, cần cẩn trọng để tránh mất mát dữ liệu hoặc lỗi xảy ra do vượt phạm vi giá trị.

Kết luận

Việc sử dụng kiểu dữ liệu BIGINT trong MySQL đem lại nhiều lợi ích khi làm việc với các giá trị số nguyên lớn, giúp hệ thống của bạn linh hoạt và sẵn sàng cho sự tăng trưởng mạnh mẽ. Tuy nhiên, cần phải cân nhắc kỹ lưỡng về yêu cầu lưu trữ và hiệu suất để lựa chọn kiểu dữ liệu phù hợp nhất cho từng bài toán cụ thể.

Comments