There are a number of dimensions to consider your question(s) and a brief answer is not really possible.
The paper Analysis of the Rainbow Tradeoff Algorithm
Used in Practice below provides a very detailed overview of the use of rainbow tables and how to choose parameters.
https://eprint.iacr.org/2013/591.pdf
Abstract:
Cryptanalytic time memory tradeoff is a tool for
inverting one-way functions, and the rainbow table method,
the best-known tradeoff algorithm, is widely used to recover
passwords. Even though extensive research has been performed
on the rainbow tradeoff, the algorithm actually used in practice
differs from the well-studied original algorithm. This work
provides a full analysis of the rainbow tradeoff algorithm that is
used in practice. Unlike existing works on the rainbow tradeoff,
the analysis is done in the external memory model, so that the
practically important issue of table loading time is taken into
account. As a result, we are able to provide tradeoff parameters
that optimize the wall-clock time. Most importantly
However, in practice, the very large pre-computation tables
of the rainbow tradeoff must initially reside on slow disks
and these need to be loaded into smaller main memory for
processing. This situation is quite different from the RAM
model of computation and the highly non-localized memory
access behavior of the original rainbow tradeoff makes its
straightforward implementation on a modern computer quite
impractical for use, except in the less interesting case of small
search spaces.
A number of statistical analyses are also carried out in the paper.
Happy reading!