你尚未说清楚性能问题到底是什么,更新速度慢还是读取速度慢?许多没有经验的程序员往往给Dataset的SQL设置类似与:select * from tablename的语句,没有查询条件,一旦Dataset.Active:=true,则慢的要命。另外Delphi缺省的事务管理机制也是十分低效的,当然我就见过编了7年数据库代码,不知事务为何物的程序员。建议如下:1、限制初始返回的数据条数(比如rownum<300);2、其他数据由用户输入条件查询;3、尽可能使用参数而不是字符串构造,因为前者可以充分利用Oracle语句缓存;4、尽可能使用batchupdate或cachedupdate(视你采用的编程控件);5、对于经常使用的查询字段建立索引;6、对于复杂统计,可以采用预先统计存储到特定的数据表中;7、如楼上所说,对表分区;8、记住过多的索引会减低数据更新的速度;9、对于频繁使用但数据量不大的数据,开启服务器端缓存。
2.增加历史表,把处理完成的业务放到历史表中。
3.使用表分区功能,表分区特性有助于加快检索的速度。