Trong Microsoft Access, hai kiểu dữ liệu Short Text và Long Text (trước đây gọi là Text và Memo) đều được dùng để lưu trữ chuỗi ký tự, nhưng chúng khác nhau về độ dài và mục đích sử dụng
Dung lượng tối đa: 255 ký tự.
Dùng cho: dữ liệu ngắn như:
Tên người, địa chỉ email.
Số điện thoại, mã số nhân viên, mã sản phẩm,...
Có thể sắp xếp, lọc và đánh chỉ mục (index): ✔️
Hiển thị mặc định trong form: ô nhập đơn dòng.
Dung lượng tối đa: ~65,536 ký tự (65,535 ký tự hiển thị, 1 ký tự kết thúc).
Dùng cho: nội dung dài như:
Mô tả chi tiết sản phẩm.
Ghi chú, bình luận, bài viết,...
Không nên đánh chỉ mục toàn bộ nội dung: vì hiệu năng sẽ giảm.
Không thể sắp xếp hoặc lọc chính xác như Short Text: ❌
Hiển thị mặc định trong form: ô nhập nhiều dòng (multi-line).
Thuộc tính | Short Text | Long Text |
---|---|---|
Độ dài tối đa | 255 ký tự | ~65,536 ký tự |
Sắp xếp/Lọc | ✔️ | ❌ (giới hạn) |
Index | ✔️ | ❌ (không khuyến khích) |
Thường dùng cho | Dữ liệu ngắn | Văn bản dài |
Hiển thị trong Form | Một dòng | Nhiều dòng |
Tình huống thực tế | Dùng Short Text |
Dùng Long Text |
---|---|---|
Họ tên, địa chỉ email, số điện thoại | ✅ | ❌ |
Địa chỉ chi tiết (ngắn, dưới 255 ký tự) | ✅ | ❌ |
Ghi chú nhiều dòng, nhật ký làm việc | ❌ | ✅ |
Mô tả sản phẩm, mô tả lỗi phần mềm | ❌ | ✅ |
Nội dung bài viết, văn bản hợp đồng | ❌ | ✅ |
Nhập liệu từ người dùng không giới hạn ký tự | ❌ | ✅ |
Khi hiển thị dữ liệu ra danh sách 1 form, nếu như có cột Long Text mà chúng ta sử dụng cú pháp
Select * From tbSanPham
thì dẫn đến rất chậm trong quá trình xử lý, nếu nhiều dữ liệu.
Cách khắc phục: thay đổi lại cú pháp Select Cot1,Cot2,... From tbSanPham
Ta không đưa cột có kiểu Long Text vào.
Trong Microsoft Access, khi table có chứa trường Long Text (tên cũ là Memo), tốc độ xử lý có thể bị chậm nếu không tối ưu tốt. Dưới đây là các cách tối ưu tốc độ khi sử dụng bảng chứa trường Long Text
Trường Long Text chứa dữ liệu rất lớn → nếu không cần, đừng SELECT nó.
❌ Không nên:
SELECT * FROM BaiViet;
✅ Nên:
SELECT TieuDe, NgayDang FROM BaiViet;
Giúp giảm dữ liệu truyền và tăng tốc độ hiển thị.
Access không đánh chỉ mục cho Long Text → tìm kiếm/sắp xếp theo nó sẽ rất chậm.
❌ Tránh:
SELECT * FROM BaiViet WHERE NoiDung LIKE "*tuyển dụng*";
Nên thêm trường phụ:
Thêm cột TieuDeKhongDau (Short Text, có chỉ mục) để lọc nhanh.
Nếu bạn có bảng với rất nhiều bản ghi và chỉ thỉnh thoảng cần đọc trường Long Text, hãy tách nó ra bảng riêng, liên kết bằng khóa ngoại.
Ví dụ:
Bảng chính: SanPham Bảng phụ: SanPham_MoTa
ID (PK) ID (PK/FK)
TenSanPham (Short Text) MoTaSanPham (Long Text)
→ Truy vấn bảng SanPham sẽ cực nhanh, chỉ khi cần chi tiết mới JOIN sang SanPham_MoTa.
Dùng Rich Text đúng cách
Trong form/report:
Tránh đặt Can Grow = Yes ở mọi trường, chỉ dùng cho trường hiển thị Long Text.
Tránh để nhiều textbox đọc Long Text cùng lúc.
Access lưu vết chỉnh sửa nhiều → database sẽ phình ra và chậm dần.
👉 Vào File > Info > Compact & Repair Database để làm nhẹ và tối ưu chỉ mục.
Phần mềm MS Access hiệu quả dựa trên tiêu chí tốc độ xử lý và tối ưu cấu trúc table, ta phân biệt rõ Short text và Long Text trong Table Access để phục vụ việc này.