Performance Oracle选择查询性能
我正在写一份申请书。它处于初始阶段,所以表中的记录数量不多,但稍后它将在同一个表中有大约100万条记录Performance Oracle选择查询性能,performance,oracle,select,Performance,Oracle,Select,我正在写一份申请书。它处于初始阶段,所以表中的记录数量不多,但稍后它将在同一个表中有大约100万条记录 我想知道在选择SELECT查询时应该考虑哪些要点,这将从表中获取大量数据,所以它不会降低性能。第一条规则: 不要将大量数据带回应用程序 除非要显示大量数据中的每一项,否则不要获取它。DBMS和应用程序之间的通信(相对)较慢,因此尽可能避免这种情况。它不会太慢,以至于不应该使用DBMS或类似的东西,但是如果可以减少DBMS和应用程序之间的数据流,总体性能通常会提高 通常,一种简单的方法是只列
我想知道在选择SELECT查询时应该考虑哪些要点,这将从表中获取大量数据,所以它不会降低性能。
第一条规则:- 不要将大量数据带回应用程序
- 尽量确保DBMS不必查看大量数据
- 不要将大量数据带回应用程序
- 尽量确保DBMS不必查看大量数据
(我应该提到:这些建议都不是针对Oracle的,您可以将其应用于任何DBMS。)要获得数据库的良好性能,您需要记住很多事情。首先,这是设计,在这里您应该主要考虑规范化和非规范化(拆分表,但仍然没有要求性能高的联接) 在性能方面,经常会有大量的调整。但是,80%的性能是由SQL代码决定的。下面是一些可能对您有所帮助的链接
要获得良好的数据库性能,您需要记住很多事情。首先,这是设计,在这里您应该主要考虑规范化和非规范化(拆分表,但仍然没有要求性能高的联接) 在性能方面,经常会有大量的调整。但是,80%的性能是由SQL代码决定的。下面是一些可能对您有所帮助的链接
要记住几点:
- 只获取需要在客户端使用的列
- 确保设置了正确的索引,以帮助查找记录。这些可以稍后再做,但如果可以的话,最好为它们做计划
- 确保已正确说明列宽和数据大小。当TINYINT将保存所有可能的值时,不要使用INT。一个有100个TINYINT字段的行比一个有100个INT字段的行获取的速度快,并且每次读取时您也能够获取更多的行
- 根据您需要数据的干净程度,可能允许执行“脏读”,即数据库在更新过程中获取数据。在某些情况下,这可以显著加快速度,尽管这意味着您获得的数据可能不是绝对最新的
- 给你的DBA啤酒。拥抱
Jason要记住几点:
- 只获取需要在客户端使用的列
- 确保设置了正确的索引,以帮助查找记录。这些可以稍后再做,但如果可以的话,最好为它们做计划
- 确保已正确说明列宽和数据大小。当TINYINT将保存所有可能的值时,不要使用INT。一个有100个TINYINT字段的行比一个有100个INT字段的行获取的速度快,并且每次读取时您也能够获取更多的行
- 根据您需要数据的干净程度,可能允许执行“脏读”,即数据库在更新过程中获取数据。这能让人感觉舒服