Hầu hết các trang web có một số loại tiểu sử người dùng sẽ làm điều gì đó như thế này:Điều gì là tốt nhất cho một hồ sơ, một số hoặc một tên?
profile.php u = 123445
hoặc khác:
profile.php u = jason? .Davis
Vì vậy, tôi tò mò, nó sẽ chậm hơn để sử dụng một tên để tra cứu một hồ sơ với php/mysql so với sử dụng một số để tìm kiếm một hồ sơ cá nhân?
Tại sao số nhanh hơn tên trong tra cứu db? (Giả sử cả hai đều được lập chỉ mục). –
Tôi không có chuyên gia về cơ sở dữ liệu, nhưng thông thường cho tôi biết rằng ngay cả chỉ mục (đó là chuyển đổi một phần của chuỗi thành số bản ghi) phải luôn chậm hơn tham chiếu trực tiếp đến số bản ghi. Không đáng kể chậm hơn, nhưng vẫn chậm hơn. Đúng nếu tôi nhầm. –
@Esteban, một số có nhiều khả năng sẽ được lưu trữ dưới dạng số nguyên chiều rộng cố định (nói 4 byte) trái ngược với chuỗi 32 byte (ví dụ). Việc so sánh sẽ nhanh hơn vì có ít dữ liệu hơn, nhưng quan trọng hơn, mỗi trang của chỉ mục sẽ lưu trữ nhiều bản ghi hơn, dẫn đến I/O đĩa ít hơn. – paxdiablo