C# 在.Net控制台应用程序中使用的Oracle Db性能更好?

C# 在.Net控制台应用程序中使用的Oracle Db性能更好?,c#,sql,oracle,C#,Sql,Oracle,目前,我们有使用oracle DB的C#.Net控制台应用程序 首先,应用程序从许多表中检索数据并插入到C#List对象中 之后,列表中的数据将被插入一个表(如tableA),但tableA中的数据已经很旧,不再使用。 因此,我们必须在插入之前删除整个表。每次出现新数据时,我们都必须执行此操作“删除整个表并插入新数据处理”。有没有办法改进应用程序性能的结构?谢谢。可能的改进: 使用PLSQL完成工作并从应用程序中调用函数/过程,而不是从客户端“下载”信息和“上传”信息。所有操作都将在数据库中完

目前,我们有使用oracle DB的C#.Net控制台应用程序

首先,应用程序从许多表中检索数据并插入到C#List对象中

之后,列表中的数据将被插入一个表(如tableA),但tableA中的数据已经很旧,不再使用。 因此,我们必须在插入之前删除整个表。每次出现新数据时,我们都必须执行此操作“删除整个表并插入新数据处理”。有没有办法改进应用程序性能的结构?谢谢。

可能的改进:

  • 使用PLSQL完成工作并从应用程序中调用函数/过程,而不是从客户端“下载”信息和“上传”信息。所有操作都将在数据库中完成。这假设没有对客户机内部的信息进行交互工作(用户更改数据)
  • 在开始工作之前,请使用truncate table而不是delete(在表格A上)清空表格
  • 添加索引以加快查询速度

假设您有某种cron/server作业,可以在某个点处理表中的数据(从而使其成为“旧数据”)。。让另一个作业在数据使用后立即删除数据。在插入新数据之前,旧数据仍将使用。这意味着只有在新数据(C#list)出现时,旧数据才会被删除