如果我有一个包含数百万行的视图(或表),并且我从不同的会话执行了这两个查询,那么一个查询会受到另一个查询的不利影响吗? (请注意,不会继续进行DML)
例如从t1中选择*,其中sex ='M'; (返回20列和10,000行)从t1选择性别,其中rownum <2;
如果我有多个会话执行查询1怎么办?在缓存其中一个之前,它们是否会同样缓慢(前提是它足够大)?
[我目前在负载平衡测试中执行类似的查询以更快地查询时,性能正在下降,但是当单独执行(即使结果尚未缓存时,我得到的响应时间是'正常'。)>
如果我有一个包含数百万行的视图(或表),并且我从不同的会话执行了这两个查询,那么一个查询会受到另一个查询的不利影响吗? (请注意,不会有DML ...
如果表没有被修改并且查询正在使用基表,那么这两个查询是否相互干扰将是令人惊讶的。特别是第二个查询:
您是否查看了缓冲区高速缓存中发生的情况,特别是缓冲区命中率/未命中率的V $ DB_CACHE_ADVICE? (在基础表中)是否有任何候选对象要添加到“ KEEP”缓冲区中以避免发生IO?公平地讲,在决定采取什么措施之前可能需要花一些时间来监视它并了解图片的内容,但是值得一看。此处更多信息:https://docs.oracle.com/database/121/TGDBA/tune_buffer_cache.htm#TGDBA555。
关于注释“如果表没有被修改并且查询正在使用基表,那么这两个查询是否相互干扰将是令人惊讶的。”