Nó phụ thuộc vào động cơ của bạn. Sự khôn ngoan phổ biến là việc đọc rất rẻ, một vài byte ở đây và sẽ không ảnh hưởng đáng kể đến hiệu suất của cơ sở dữ liệu cỡ nhỏ đến trung bình.
Quan trọng hơn, nó phụ thuộc vào việc sử dụng mà bạn sẽ đặt khóa chính. Số nguyên serial có ưu điểm là đơn giản để sử dụng và thực hiện. Chúng cũng, tùy thuộc vào việc triển khai cụ thể của phương thức tuần tự hóa, có ưu điểm là có thể lấy được nhanh chóng , vì hầu hết các cơ sở dữ liệu chỉ lưu trữ số sê-ri ở một vị trí cố định, thay vì bắt Select max(ID)+1 from foo
đầu nhanh chóng.
Câu hỏi trở thành: làm thế nào một khóa 5 ký tự thể hiện một "giá trị có ý nghĩa" cho bạn và cho ứng dụng? Giá trị này được tạo như thế nào và mất nhiều thời gian hơn so với việc tìm số sê-ri tăng dần. Mặc dù có một lượng không gian nhỏ được lưu trong một số số nguyên, nhưng phần lớn các hệ thống sẽ bỏ qua khoản tiết kiệm không gian này.
Không có ý nghĩa về hiệu suất, lưu ý rằng sơ đồ nhân vật yêu cầu rằng không bao giờ có động cơ tự động, vì "phím" của bạn không thể sử dụng được. Đối với tên miền cụ thể của bạn, đừng bận tâm với các khóa nhân tạo và chỉ sử dụng tiếng Trung, tiếng Nhật và tiếng Thái làm tên khóa. Mặc dù bạn không thể đảm bảo tính duy nhất đối với bất kỳ ứng dụng nào có thể, nhưng trong phạm vi của bạn, việc sử dụng chúng thay vì viết tắt 5 ký tự khủng khiếp và bắt buộc sẽ hợp lý hơn nhiều. Không có tác động hiệu suất đáng kể cho đến khi bạn nhận được hàng triệu bộ dữ liệu.
Ngoài ra, nếu bạn chỉ theo dõi theo quốc gia xuất xứ và không phải các món ăn cụ thể trong khu vực (tiếng Quảng Đông, Tứ Xuyên, Sicilia, Umbrian, Calabrian, Yucatecan, Oaxacan, v.v.), bạn luôn có thể sử dụng mã ISO 3166 .
Nếu tôi có 10.000 công thức nấu ăn không phải là sự khác biệt giữa khóa 5 ký tự và 20 ký tự bắt đầu cộng lại?
Không gian rẻ . Khi bạn đang nói 10.000.000 công thức nấu ăn mà bạn đang thực hiện các thao tác OLAP, thì có lẽ. Với công thức 10k, bạn đang nhìn vào 150k không gian.
Nhưng một lần nữa, nó phụ thuộc. Nếu bạn có nhiều triệu bản ghi và đang tham gia vào chúng, thì sẽ hợp lý hóa việc tìm kiếm thứ gì đó tầm thường này (thành một cái nhìn cụ thể hóa). Đối với tất cả các mục đích thực tế, hiệu quả nối tương đối trên một máy hiện đại giữa khóa 5 ký tự và khóa có độ dài thay đổi rất giống nhau. Hạnh phúc thay, chúng ta sống trong một thế giới CPU phong phú và đĩa dồi dào. Những người khó chịu là quá nhiều tham gia và truy vấn không hiệu quả, thay vì so sánh từng nhân vật. Với mà nói, luôn luôn kiểm tra .
Những thứ P & T ở cấp độ này phụ thuộc vào cơ sở dữ liệu đến mức việc khái quát hóa là vô cùng khó khăn. Xây dựng hai mô hình mẫu của cơ sở dữ liệu, điền vào chúng với số lượng bản ghi ước tính, sau đó xem cái nào nhanh hơn. Theo kinh nghiệm của tôi, độ dài ký tự không tạo ra sự khác biệt lớn so với các chỉ mục tốt, cấu hình bộ nhớ tốt và các yếu tố điều chỉnh hiệu suất quan trọng khác.