Tôi đang cố gắng tìm hiểu xem bảng của tôi có nhận được ít hiệu suất hơn không nếu tôi thay đổi khóa chính thành BIGINT (20). Hiện tại, tôi đang sử dụng INT (7) và có khoảng 300.000 mục đã có với các ID lớn (7 hoặc 8 chữ số). Tôi đã tìm kiếm rất nhiều nhưng chỉ phát hiện ra rằng nó sử dụng nhiều không gian đĩa hơn (điều này hiển nhiên).Hiệu suất mysql BIGINT so với INT
Tất cả các ID của tôi có 7 chữ số ngay bây giờ, nhưng khách hàng của tôi muốn thay đổi thành 8 chữ số. Tôi sẽ không thể dễ dàng thay đổi phần mềm trong tương lai, vì vậy tôi đã nghĩ đến việc sử dụng BIGINT (20) ngay trong trường hợp. Nó sẽ ít hiệu quả hơn nếu tôi sử dụng BIGINT mặc dù tôi không cần phải làm sao?
Có ai có kinh nghiệm làm điều này có đề xuất về tốc độ và hiệu suất không?
Điều này nói mọi thứ tôi sắp sửa. Bạn có thực tế không có cơ hội nhấn giới hạn trên một lĩnh vực INT trừ khi bạn đang đối phó với rất nhiều dữ liệu (mà 300.000 mục là không). Cũng như đã đề cập ở đây (7) không thực sự làm bất cứ điều gì để hạn chế những gì các lĩnh vực cửa hàng. Bạn vẫn có giới hạn là 4,3 tỷ đồng (giả sử bạn làm cho nó KHÔNG ĐƯỢC KÝ) –
tôi biết về kích thước của int (7) và vân vân. nhưng tôi không sử dụng tự động tăng trong bảng đó, gây ra các số được nhập từ cơ sở dữ liệu khác, và chúng dài hơn 2 ký tự – rubo77
tôi đọc http://dev.mysql.com/doc/refman/5.1/en/numeric -type-overview.html :) – rubo77