So How Can You Ensure a High-Performing Database?
We good RDBMS designers actually have two choices: Force the real world to bend to our technological reality, or accept that technology exists to serve our clients.
The first option leads us to tell our perpetual teenager, the baseball superstar, that he cannot ever change teams. This approach will cause conflict with his agent, Fantasy League participants, and George Steinbrenner. Ignoring the first two, how can we tell George that he can't spend his money? (Okay, okay, you small-market city residents, please stop volunteering.) So let's eliminate this option by paying homage to our fear of lawsuits by the agents.
The second option leads us to a simple solution: Use only sequentially increasing numbers to implement relationships. Many of the RDBMS products support them directly. Such numbers are relatively short, so many will fit in a leaf block, and new rows will always be added at the end, heading off any mid-domain bulge!
Avoid the temptation to use naturally occurring data: Carry it in the row and build a separate index on it to speed retrievals.