Bạn nên sử dụng loại dữ liệu chính xác cho dữ liệu mà bạn đang đại diện - mọi lợi ích về hiệu suất lý thuyết không rõ ràng đều là thứ yếu so với chi phí phải đối phó với chuyển đổi dữ liệu.
Thực sự không thể nói điều đó dựa trên câu hỏi nào, nhưng hầu hết các trường hợp đều khá rõ ràng. Trường hợp chúng không rõ ràng là trong các trường hợp bạn có phần tử dữ liệu được biểu thị bằng một tập hợp các chữ số nhưng bạn không coi chúng là một số - ví dụ:một số điện thoại.
Các manh mối mà bạn đang giải quyết tình huống này là:
- các số 0 đứng đầu phải được giữ nguyên
- không có phép toán số học nào được thực hiện trên phần tử.
- các hoạt động chuỗi được thực hiện:ví dụ:"lấy bốn ký tự cuối cùng"
Nếu đúng như vậy thì bạn có thể muốn lưu trữ "số" của mình dưới dạng varchar.