Любая оптимизация для произвольного доступа к очень большому массиву, когда значение в 95% случаев равно 0 или 1?

Есть ли возможная оптимизация для произвольного доступа к очень большому массиву (сейчас я использую uint8_tи спрашиваю, что лучше) uint8_t MyArray[10000000]; когда значение в любой позиции в массиве равно 0 или 1 для 95% всех случаев, 2 в 4% случаев, от 3 до 255 в остальном 1% случаев? Итак, есть...