Oracle选择查询性能

1 oracle performance select

我正在开发一个应用程序.它处于初始阶段,因此表中的记录数量不大,但稍后它将在同一个表中有大约100万条记录.

我想知道在编写select查询时我应该考虑哪些要点,这将从表中获取大量数据,因此它不会降低性能.

Jon*_*ler 7

第一条规则:

  • 不要将大量数据提取回应用程序.

除非您要显示大量数据中的每个项目,否则不要获取它.DBMS和应用程序之间的通信(相对)缓慢,因此尽可能避免使用它.您不应该使用DBMS或类似的东西,但是如果您可以减少DBMS和应用程序之间的数据流量,那么整体性能通常会提高.

通常,一种简单的方法是仅列出应用程序中实际需要的列,而不是使用"SELECT*"来检索所有列,而只使用存在的24个中的4个.

第二条规则:

  • 尽量确保DBMS不必查看大量数据.

尽可能减少DBMS必须完成的工作.它很忙,通常在任何给定时间都代表许多人忙碌.如果您可以减少DBMS处理查询所需的工作量,那么每个人都会更高兴.

考虑诸如确保表上有适当的索引之类的事情 - 不要太少,也不要太多.明智地设计索引可以大大提高许多查询的性能.但请记住,必须维护每个索引,因此当要在给定表上管理更多索引时,插入,删除和更新会变慢.

(我应该提一下:这个建议都不是特定于Oracle的 - 你可以将它应用于任何DBMS.)