有效性始终是重要的,然后是效率。在表达我的意见之前,我想你的问题已经基于用户的有效解决方案。
首先,数据检索是关于计算机系统的存储。如果您的数据可以完全驻留在最快的存储中(如主内存),那么保留数据是比其他更好的策略。但是关于性能问题的问题主要是因为主存不够用,所以应该从二级存储(较慢的存储)中取回数据,并替换主内存中的其他数据,并生成所需的数据。所以你必须处理多级存储系统。其次,在处理多级存储系统时(与大多数计算机系统一样),效率方式取决于次级存储访问次数的减少程度。关于将数据从较慢的存储数据加载到较快的存储数据的好处并不重要,但也有数据被踢掉的牺牲。
在XML中,DOM和SAX是处理多级存储系统的两个极端。在数据库系统中,完全缓存的索引是性能的一个很好的解决方案(当索引足够小时)。在操作系统中,文件缓存是计算机科学中最具挑战性的事情之一。
您可以在需要之前预先计算一些数据。您可以使用更高效的数据结构来改善重现数据。您可以粗暴地将更多的主要内存分配给您的应用程序。你可以......好吧,购买更多的内存模块或SSD。无论您选择哪种解决方案,这绝对是计算机科学融合的艺术。
算法,数据结构,数据库系统,操作系统,甚至是编译器的理论,这些硬质金属都可以帮助你建立一把可以踢龙的屁股的剑。
我建议你看看这个视频,它解释了关于显示内容和表单(用户输入)的一些不错的设计思路:http://37signals.com/svn/posts/2608-ryans-talk-at-未来的Web方式的应用,2010年伦敦 – 2010-12-03 13:21:03