是否有理论或线索来设置 Oracle 查询中的并行度?例如:select * from some_table;
如果我想并行运行它,我可以像下面这样写,将并行度设置为 10:select /*+parallel(10) */ * from some_table;
度数可以更改为任何其他数字。如果您查看解释计划,您会发现并行度越高,成本越低。我的问题是如何在编写查询时找到最佳度数,是否有理论或线索来设置 Oracle 查询中的并行度?
最佳答案
太多变量会影响最佳设置,但 Oracle 可以自行决定,将所有重要因素都考虑在内。您可以通过指定自动的并行度来执行此操作,例如/*+ 并行(自动)*/.决定这一点时最难预测的事情是查询运行时系统上的负载量 - 还有什么在争夺资源。晚上 11 点运行的可能会非常缓慢,并且会在上午 11 点降低系统(不仅仅是查询)性能。阅读此内容将非常值得您花时间:
http://docs.oracle.com/cd/E11882_01/server.112/e25523/parallel002.htm#CIHGJFFH
特别是关于“并行度”的部分。
关于sql - 如何确定和设置 Oracle 查询中的并行度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25451449/