Зводячись до фактичної продуктивності порівняння рядків проти неплавких, у цьому випадку будь-який розмір без підпису та підпису не має значення. Розмір насправді є справжньою різницею в продуктивності. Будь то 1 байт + (до 126 байт) порівняно з 1,2,4 або 8 байт порівняння ... очевидно, що без плавання менше, ніж рядки і плавки, і, таким чином, більш дружній з процесором в збірці.
Порівняння рядків на всіх мовах відбувається повільніше, ніж те, що може бути порівняно в 1 інструкції процесором. Навіть порівнюючи 8 байт (64 біт) на 32-бітовому процесорі все-таки швидше, ніж VARCHAR (2) або більше. * Знову ж таки, подивіться на виготовлену збірку (навіть вручну) потрібно більше вказівок для порівняння знаків за діаграмою, ніж від 1 до 8 байт цифрового процесора.
Тепер, наскільки швидше? залежить також від обсягу даних. Якщо ви просто порівнюєте 5 з "ауді" - і це все, що має ваш БД, різниця в результаті настільки мінімальна, що ви його ніколи не побачите. Залежно від процесора, імплементації (клієнт / сервер, веб / скрипт тощо) ви, мабуть, не побачите його, доки не потрапите на кілька сотень порівнянь на сервері БД (можливо, навіть пару тисяч порівнянь, перш ніж це буде помітно).
- Анулювати невірну суперечку про порівняння хеш-книг. Більшість алгоритмів хешування самі по собі повільні, тому ви не маєте користі від таких речей, як CRC64 і менші. Протягом 12 років я розробляв алгоритми пошуку для пошукових систем для кількох округів та 7 років для бюро кредитів. Все, що ви можете зберегти в цифрі, швидше ... наприклад, номери телефонів, поштові індекси, навіть валюта * 1000 (зберігання) валюта div 1000 (пошук) швидше, ніж DECIMAL для порівняння.
Ozz