Я создаю сущности базы данных в своем Java-приложении и пытаюсь обосновать использование Integer или Long в качестве типа класса поля «id». В качестве ORM я использую Hibernate, который, в свою очередь, сопоставит это поле со столбцом в базе данных HSQLDB.
Моя борьба такова: Long явно больше и будет обрабатывать большее количество записей - но на очень низком уровне я знаю, что в прошлом (32-битные системы) чтения на уровне ОС имели бы ширину 32 бита. IE: длинное чтение займет два прохода ... это правильное мышление?
Если бы я использовал Long сегодня, мои HSQLDB-запросы выполнялись бы медленнее, чем если бы я использовал Integer?
IE: HSQLDB должен был бы каким-то образом использовать несколько проходов чтения ... или использовать более крупную внутреннюю структуру ... или слишком добавить два столбца целого размера ... или что-то еще, очевидно, неидеальное? Или это как-то спорный вопрос с сегодняшней 64-битной обработкой - которая должна обрабатывать Long в одном чтении (Long - 64 бит)?