2012-05-04 41 views
5

Các loại hình id là tốt hơn để truy vấn và sử dụng như là khóa ngoại trong mysql:Int id vs id varchar

1) Varchar id với kích thước 20

2) Int id

Trả lời

8

Một int thường tốt hơn, bởi vì nó cho hiệu suất tốt hơn.

Nếu mặt hàng của bạn có một số natural key là một varchar, bạn có thể sử dụng nó và nó sẽ hoạt động. Nhưng bạn sẽ nhận được một cải tiến hiệu suất (và một số lợi ích khác) bằng cách thêm một số surrogate key là một số nguyên. Bạn có thể thêm một cột AUTO_INCREMENT cho mục đích này.

+0

Cảm ơn rất nhiều .... –

0

ID INT luôn thích hợp hơn ..

Nhanh hơn và sử dụng ít bộ nhớ hơn trên cơ sở dữ liệu.

Có những trường hợp khi ID VARCHAR là cần thiết, nhưng INT là hiệu quả hơn

0

IDS Int là hiệu quả hơn vì cơ sở dữ liệu sẽ chỉ phải so sánh một lần.

Vì vậy, giả sử bạn có n hàng. Nếu bạn sử dụng int thì bạn đang xem O(n) là trường hợp xấu nhất. Nếu bạn sử dụng số varchar(20), bạn đang xem O(n*20)

+8

'O (n * 20)' giống hệt như 'O (n)'. Bạn không thể sử dụng ký hiệu big-O để thể hiện sự khác biệt về yếu tố không đổi. –

Các vấn đề liên quan