Лучшей практикой является не использовать наборы данных, если вы можете избежать этого.
Если вы можете избежать этого, используйте легкие объектные объекты из автоматически сгенерированного DAL, такие как Microsoft Entity Framework, SubSonic, LLBLGen и т. Д.
Если вы абсолютно не можете избежать этого ... вам не повезло. По своей структуре DataSets - это медленные неуклюжие звери, которые должны находиться в транзакционных базах данных памяти.
Edit:
Наверное, я так и не ответил на твой вопрос.
Если вы собираетесь использовать наборы данных независимо от их недостатков, загрузите в них столько данных, сколько вам нужно, и как можно меньше таблиц. Старайтесь не выполнять с ними дорогостоящие операции, такие как сериализация.
Это все, что вы можете сделать, чтобы ускорить их. Помимо использования другой технологии, которая.