【11gR2新特性】result cache 的三种模式

简介:

yang@rac1>show parameter result
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------
client_result_cache_lag              big integer 3000
client_result_cache_size             big integer 0
result_cache_max_result              integer     5
result_cache_max_size                big integer 2080K
result_cache_mode                    string      MANUAL
result_cache_remote_expiration       integer     0
结果缓存的三种存储方式: MANUAL,AUTO,FORCE ,这篇文章将分别介绍三种模式的使用方法。
当result_cache_mode=MANUAL的时候,必须使用hint提示才能使用结果缓存特性。首先清理缓存,并查看缓存情况。
yang@rac1>exec dbms_result_cache.flush();
PL/SQL 过程已成功完成。
yang@rac1>exec dbms_result_cache.memory_report();
R e s u l t   C a c h e   M e m o r y   R e p o r t
[Parameters]
Block Size          = 1K bytes
Maximum Cache Size  = 2080K bytes (2080 blocks)
Maximum Result Size = 104K bytes (104 blocks)
[Memory]
Total Memory = 9460 bytes [0.004% of the Shared Pool]
... Fixed Memory = 9460 bytes [0.004% of the Shared Pool]
... Dynamic Memory = 0 bytes [0.000% of the Shared Pool]
PL/SQL 过程已成功完成。
进行不带hint的查询例子。
yang@rac1>set autotrace on
yang@rac1>select object_type,count(*) from yangobj group by object_type;

OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65527
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
------------------------------------------------------------------------------
| Id  | Operation          | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |         |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  HASH GROUP BY     |         |     1 |     6 |   209   (2)| 00:00:03 |
|   2 |   TABLE ACCESS FULL| YANGOBJ | 65536 |   384K|   206   (1)| 00:00:03 |
------------------------------------------------------------------------------
统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
        753  consistent gets
          0  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        416  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
从缓存报告中可以看出上面的sql结果没有被缓存。
yang@rac1>exec dbms_result_cache.memory_report();
R e s u l t   C a c h e   M e m o r y   R e p o r t
[Parameters]
Block Size          = 1K bytes
Maximum Cache Size  = 2080K bytes (2080 blocks)
Maximum Result Size = 104K bytes (104 blocks)
[Memory]
Total Memory = 9460 bytes [0.004% of the Shared Pool]
... Fixed Memory = 9460 bytes [0.004% of the Shared Pool]
... Dynamic Memory = 0 bytes [0.000% of the Shared Pool]

PL/SQL 过程已成功完成。
yang@rac1>set autotrace off
yang@rac1>select * from v$result_cache_statistics;
        ID NAME                                VALUE
---------- ----------------------------------- ----------
         1 Block Size (Bytes)                  1024
         2 Block Count Maximum                 2080
         3 Block Count Current                 0
         4 Result Size Maximum (Blocks)        104
         5 Create Count Success                0
         6 Create Count Failure                0
         7 Find Count                          0
         8 Invalidation Count                  0
         9 Delete Count Invalid                0
        10 Delete Count Valid                  0
        11 Hash Chain Length                   0
已选择11行。
使用hint提示执行sql语句。
yang@rac1>select /*+ result_cache */ object_type,count(*) from yangobj group by object_type;
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65527
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
--------------------------------------------------------------------------------------------------
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  RESULT CACHE       | 93qg9pxgyrhd35bxgp9ay1mvqw |       |       |            |          |
|   2 |   HASH GROUP BY     |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   384K|   206   (1)| 00:00:03 |
--------------------------------------------------------------------------------------------------
Result Cache Information (identified by operation id):
------------------------------------------------------
 1 - column-count=2; dependencies=(YANG.YANGOBJ); parameters=(nls);
   name="select /*+ result_cache */object_type,count(*) from yangobj group by object_type"
统计信息
----------------------------------------------------------
          1  recursive calls
          0  db block gets
        753  consistent gets
        748  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        416  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
yang@rac1>set autotrace off
yang@rac1>select * from v$result_cache_statistics;

        ID NAME                                VALUE
---------- ----------------------------------- ----------
         1 Block Size (Bytes)                  1024
         2 Block Count Maximum                 2080
         3 Block Count Current                 32
         4 Result Size Maximum (Blocks)        104
         5 Create Count Success                1 --结果被缓存。
         6 Create Count Failure                0
         7 Find Count                          0
         8 Invalidation Count                  0
         9 Delete Count Invalid                0
        10 Delete Count Valid                  0
        11 Hash Chain Length                   1
已选择11行。

yang@rac1>exec dbms_result_cache.memory_report();
R e s u l t   C a c h e   M e m o r y   R e p o r t
[Parameters]
Block Size          = 1K bytes
Maximum Cache Size  = 2080K bytes (2080 blocks)
Maximum Result Size = 104K bytes (104 blocks)
[Memory]
Total Memory = 102372 bytes [0.044% of the Shared Pool]
... Fixed Memory = 9460 bytes [0.004% of the Shared Pool]
... Dynamic Memory = 92912 bytes [0.040% of the Shared Pool]
....... verhead = 60144 bytes
....... Cache Memory = 32K bytes (32 blocks)
........... Unused Memory = 30 blocks
........... Used Memory = 2 blocks
............... Dependencies = 1 blocks (1 count)
............... Results = 1 blocks
................... SQL     = 1 blocks (1 count)

PL/SQL 过程已成功完成。
yang@rac1>set autotrace on
yang@rac1>select /*+ result_cache */ object_type,count(*) from yangobj group by object_type;
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65527
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
--------------------------------------------------------------------------------------------------
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  RESULT CACHE       | 93qg9pxgyrhd35bxgp9ay1mvqw |       |       |            |          |
|   2 |   HASH GROUP BY     |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   384K|   206   (1)| 00:00:03 |
--------------------------------------------------------------------------------------------------

Result Cache Information (identified by operation id):
------------------------------------------------------

   1 - column-count=2; dependencies=(YANG.YANGOBJ); parameters=(nls);
   name="select /*+ result_cache */object_type,count(*) from yangobj group by object_type"
统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          0  consistent gets    --利用了结果缓存。
          0  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        416  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

yang@rac1>
yang@rac1>select name,cache_id,cache_key from v$result_cache_objects;
CACHE_ID                   CACHE_KEY                    NAME
----------                 --------------------------  -----------------------------
YANG.YANGOBJ               YANG.YANGOBJ                YANG.YANGOBJ
93qg9pxgyrhd35bxgp9ay1mvqw fpn1dsgmvbq9cbhu4vs188mqr3  select /*+ result_cache */ object_type,count(*)
                                                       from yangobj group byobject_type
--------------------------autot-------------------------------------------------
当result_cache_mode=MANUAL的时候,情况比较复杂一点,oracle 根据自己非公开的算法来实现结果缓存的。从下面的实验来看,不管在shared POOL 里有没有结果集,oracle都不会使用那个结果集,使用hint提示时,才会使用结果集。
SQL>select object_type,count(*) from yangobj group by object_type;
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65536
已用时间:  00: 00: 00.02
SQL>exec dbms_result_cache.memory_report();
R e s u l t   C a c h e   M e m o r y   R e p o r t
[Parameters]
Block Size          = 1K bytes
Maximum Cache Size  = 2080K bytes (2080 blocks)
Maximum Result Size = 104K bytes (104 blocks)
[Memory]
Total Memory = 107812 bytes [0.046% of the Shared Pool]
... Fixed Memory = 9460 bytes [0.004% of the Shared Pool]
... Dynamic Memory = 98352 bytes [0.042% of the Shared Pool]
....... verhead = 65584 bytes
....... Cache Memory = 32K bytes (32 blocks)
........... Unused Memory = 30 blocks
........... Used Memory = 2 blocks
............... Dependencies = 1 blocks (1 count)
............... Results = 1 blocks
................... AUTO    = 1 blocks (1 count)

PL/SQL 过程已成功完成。
已用时间:  00: 00: 00.03
SQL>select * from v$result_cache_statistics;
        ID NAME                           VALUE
---------- ------------------------------ --------------------
         1 Block Size (Bytes)             1024
         2 Block Count Maximum            2080
         3 Block Count Current            32
         4 Result Size Maximum (Blocks)   104
         5 Create Count Success           1
         6 Create Count Failure           0
         7 Find Count                     0
         8 Invalidation Count             0
         9 Delete Count Invalid           0
        10 Delete Count Valid             0
        11 Hash Chain Length              1

已选择11行。
已用时间:  00: 00: 00.03
SQL>set autotrace on
SQL>select object_type,count(*) from yangobj group by object_type;
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65536

已用时间:  00: 00: 00.02
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
--------------------------------------------------------------------------------------------------
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  RESULT CACHE       | 93qg9pxgyrhd35bxgp9ay1mvqw |       |       |            |          |
|   2 |   HASH GROUP BY     |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   384K|   206   (1)| 00:00:03 |
--------------------------------------------------------------------------------------------------
Result Cache Information (identified by operation id):
------------------------------------------------------
   1 - column-count=2; type=AUTO; dependencies=(YANG.YANGOBJ); parameters=(nls); name="select object_type,count(*) from yangobj group by object_type"
统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
        753  consistent gets
          0  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        415  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
SQL>set autotrace off
SQL>select * from v$result_cache_statistics;
        ID NAME                           VALUE
---------- ------------------------------ ---------------------------------------------------------------------------------
         1 Block Size (Bytes)             1024
         2 Block Count Maximum            2080
         3 Block Count Current            32
         4 Result Size Maximum (Blocks)   104
         5 Create Count Success           1
         6 Create Count Failure           0
         7 Find Count                     1
         8 Invalidation Count             0
         9 Delete Count Invalid           0
        10 Delete Count Valid             0
        11 Hash Chain Length              1
已选择11行。
已用时间:  00: 00: 00.03
SQL>set autotrace on
SQL>select object_type,count(*) from yangobj group by object_type;

OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65536
已用时间:  00: 00: 00.02
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
--------------------------------------------------------------------------------------------------
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  RESULT CACHE       | 93qg9pxgyrhd35bxgp9ay1mvqw |       |       |            |          |
|   2 |   HASH GROUP BY     |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   384K|   206   (1)| 00:00:03 |
--------------------------------------------------------------------------------------------------
Result Cache Information (identified by operation id):
------------------------------------------------------
   1 - column-count=2; type=AUTO; dependencies=(YANG.YANGOBJ); parameters=(nls); name="select object_type,count(*) from yangobj group by object_type"
统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
        753  consistent gets
          0  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        415  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
SQL>select /*+ result_cache */ object_type,count(*) from yangobj group by object_type;
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65536
已用时间:  00: 00: 00.02
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
--------------------------------------------------------------------------------------------------
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  RESULT CACHE       | 93qg9pxgyrhd35bxgp9ay1mvqw |       |       |            |          |
|   2 |   HASH GROUP BY     |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   384K|   206   (1)| 00:00:03 |
--------------------------------------------------------------------------------------------------
Result Cache Information (identified by operation id):
------------------------------------------------------
   1 - column-count=2; dependencies=(YANG.YANGOBJ); parameters=(nls); name="select /*+ result_cache */ object_type,count(*) from yangobj group by obje
ct_type"
统计信息
----------------------------------------------------------
          1  recursive calls
          0  db block gets
        753  consistent gets
          0  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        415  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
SQL>select /*+ result_cache */ object_type,count(*) from yangobj group by object_type;
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65536
已用时间:  00: 00: 00.01
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
--------------------------------------------------------------------------------------------------
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  RESULT CACHE       | 93qg9pxgyrhd35bxgp9ay1mvqw |       |       |            |          |
|   2 |   HASH GROUP BY     |                            |     1 |     6 |   209   (2)| 00:00:03 |
|   3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   384K|   206   (1)| 00:00:03 |
--------------------------------------------------------------------------------------------------
Result Cache Information (identified by operation id):
------------------------------------------------------
   1 - column-count=2; dependencies=(YANG.YANGOBJ); parameters=(nls);
   name="select /*+ result_cache */ object_type,count(*) from yangobj group by obje
ct_type"

统计信息
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          0  consistent gets
          0  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        415  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
--------------------------force-------------------------------------------------
当result_cache_mode=MANUAL的时候,oracle 会强制缓存sql语句的查询结果。实验如下:
yang@rac1>alter session set result_cache_mode = force;
会话已更改。
已用时间:  00: 00: 00.00
yang@rac1>exec dbms_result_cache.flush();
PL/SQL 过程已成功完成。
已用时间:  00: 00: 00.00
第一次查询时,即将结果缓存为cache_id为81zjdmh3h4yza1stdry7m73pvg的结果集。
yang@rac1>select count(*) from yangobj where object_id=74594;
  COUNT(*)                                                                                                                                           
----------                                                                                                                                           
     65536  
已用时间:  00: 00: 00.01
执行计划
----------------------------------------------------------                                                                                           
Plan hash value: 362321706                                                                                                                           
--------------------------------------------------------------------------------------------------                                                   
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |                         
--------------------------------------------------------------------------------------------------  
|   0 | SELECT STATEMENT    |                            |     1 |     5 |   206   (1)| 00:00:03 |
|   1 |  RESULT CACHE       | 81zjdmh3h4yza1stdry7m73pvg |       |       |            |          |
|   2 |   SORT AGGREGATE    |                            |     1 |     5 |            |          |
|*  3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   320K|   206   (1)| 00:00:03 |
-------------------------------------------------------------------------------------------------- 
Predicate Information (identified by operation id):
---------------------------------------------------  
   3 - filter("OBJECT_ID"=74594)                                                                                                                    
Result Cache Information (identified by operation id):                                                                                               
------------------------------------------------------                                                                                               
   1 - column-count=1; dependencies=(YANG.YANGOBJ); attributes=(single-row); name="select count(*) from yangobj where object_id=74594" 
统计信息
----------------------------------------------------------    
          1  recursive calls       
          0  db block gets 
        753  consistent gets
          0  physical reads 
          0  redo size   
        425  bytes sent via SQL*Net to client                               
        416  bytes received via SQL*Net from client                                
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed
再次查询时,一致性读为0.
yang@rac1>select count(*) from yangobj where object_id=74594;
  COUNT(*)                                                                                                                                           
----------                                                                                                                                           
     65536  
已用时间:  00: 00: 00.00
执行计划
----------------------------------------------------------                                                                                           
Plan hash value: 362321706                                                                                                                            
--------------------------------------------------------------------------------------------------   
| Id  | Operation           | Name                       | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |                            |     1 |     5 |   206   (1)| 00:00:03 | 
|   1 |  RESULT CACHE       | 81zjdmh3h4yza1stdry7m73pvg |       |       |            |          |
|   2 |   SORT AGGREGATE    |                            |     1 |     5 |            |          |
|*  3 |    TABLE ACCESS FULL| YANGOBJ                    | 65536 |   320K|   206   (1)| 00:00:03 |
--------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):                                                                                                  
---------------------------------------------------                                                                                                  
   3 - filter("OBJECT_ID"=74594)                                                                                                                   
Result Cache Information (identified by operation id):                                                                                               
------------------------------------------------------                                                                                               
   1 - column-count=1; dependencies=(YANG.YANGOBJ); attributes=(single-row);
   name="select count(*) from yangobj where object_id=74594" 
统计信息
----------------------------------------------------------                                                                                           
          0  recursive calls   
          0  db block gets                             
          0  consistent gets                                  
          0  physical reads
          0  redo size          
        425  bytes sent via SQL*Net to client
        416  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)                                                                                                                          
          0  sorts (disk) 
          1  rows processed
除非使用no_result_cache hint提示 在force 模式才会不使用结果缓存的特性。
yang@rac1>alter system set result_cache_mode=force;

系统已更改。

yang@rac1>show parameter result

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
client_result_cache_lag              big integer 3000
client_result_cache_size             big integer 0
result_cache_max_result              integer     5
result_cache_max_size                big integer 2080K
result_cache_mode                    string      FORCE
result_cache_remote_expiration       integer     0
yang@rac1>exec dbms_result_cache.memory_report();
R e s u l t   C a c h e   M e m o r y   R e p o r t
[Parameters]
Block Size          = 1K bytes
Maximum Cache Size  = 2080K bytes (2080 blocks)
Maximum Result Size = 104K bytes (104 blocks)
[Memory]
Total Memory = 102372 bytes [0.044% of the Shared Pool]
... Fixed Memory = 9460 bytes [0.004% of the Shared Pool]
... Dynamic Memory = 92912 bytes [0.040% of the Shared Pool]
....... verhead = 60144 bytes
....... Cache Memory = 32K bytes (32 blocks)
........... Unused Memory = 30 blocks
........... Used Memory = 2 blocks
............... Dependencies = 1 blocks (1 count)
............... Results = 1 blocks
................... SQL     = 1 blocks (1 count)

PL/SQL 过程已成功完成。
yang@rac1>set autotrace on
yang@rac1>select /*+ no_result_cache */ object_type,count(*) from yangobj group by
OBJECT_TYPE           COUNT(*)
------------------- ----------
TABLE                    65527
执行计划
----------------------------------------------------------
Plan hash value: 1913842841
------------------------------------------------------------------------------
| Id  | Operation          | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |         |     1 |     6 |   209   (2)| 00:00:03 |
|   1 |  HASH GROUP BY     |         |     1 |     6 |   209   (2)| 00:00:03 |
|   2 |   TABLE ACCESS FULL| YANGOBJ | 65536 |   384K|   206   (1)| 00:00:03 |
------------------------------------------------------------------------------
统计信息
----------------------------------------------------------
          1  recursive calls
          0  db block gets
        753  consistent gets
          0  physical reads
          0  redo size
        496  bytes sent via SQL*Net to client
        416  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

相关文章
|
SQL 弹性计算 关系型数据库
HTAP数据库 PostgreSQL 场景与性能测试之 3.1 - (OLAP) 大表JOIN统计查询-10亿 join 1亿 agg
标签 PostgreSQL , HTAP , OLTP , OLAP , 场景与性能测试 背景 PostgreSQL是一个历史悠久的数据库,历史可以追溯到1973年,最早由2014计算机图灵奖得主,关系数据库的鼻祖Michael_Stonebraker 操刀设计,PostgreSQL具备与Oracle类似的功能、性能、架构以及稳定性。 PostgreSQL社区的贡献者众多
2245 0
|
Java 网络安全 Windows
springboot项目报错:ERROR 9112 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] 的解决办法
springboot项目报错:ERROR 9112 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] 的解决办法
springboot项目报错:ERROR 9112 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] 的解决办法
|
数据采集 自然语言处理 监控
【优秀python毕设案例】基于python django的新媒体网络舆情数据爬取与分析
本文介绍了一个基于Python Django框架开发的新媒体网络舆情数据爬取与分析系统,该系统利用Scrapy框架抓取微博热搜数据,通过SnowNLP进行情感分析,jieba库进行中文分词处理,并以图表和词云图等形式进行数据可视化展示,以实现对微博热点话题的舆情监控和分析。
1250 110
【优秀python毕设案例】基于python django的新媒体网络舆情数据爬取与分析
|
12月前
|
存储 缓存 数据库
数据库索引采用B+树不采用B树的原因
B+树相较于B树,在数据存储、磁盘读写、查询效率及范围查询方面更具优势。数据仅存于叶子节点,便于高效遍历和区间查询;内部节点不含数据,提高缓存命中率;查询路径固定,效率稳定;特别适合数据库索引使用。
159 1
|
12月前
|
供应链 算法 安全
深度解析区块链技术的分布式共识机制
深度解析区块链技术的分布式共识机制
628 0
IBSS、BSS和ESS之间的区别
【8月更文挑战第23天】
1359 0
|
存储 数据处理 数据安全/隐私保护
深度分析:EDPB数据主体权利-访问权指南摘要及合规建议
本文对EDPB发布的数据主体权利-访问权指南《Guidelines 01/2022 on data subject rights - Right of access(Version 2.0)》(下称“01/22号指南”)的要求进行提炼,旨在为需要满足GDPR的出海企业提供参考。
564 0
|
存储 大数据 云计算
云计算和大数据以及两者的区别
云计算大数据是现在比较热门的词,其具体应用领域也比较多,很多人对于云计算和大数据二者分不清,什么是云计算大数据?大数据和云计算有什么区别?大家可以看看下文来详细了解下。
2527 21
云计算和大数据以及两者的区别
|
SQL 关系型数据库 MySQL
性能提高20倍!MySQL排序引起的性能问题及解决方案
负责公司的用户收藏服务,收到调用方反馈有read time out的情况,进行排查发现是某用户收藏数量太多引起的(有业务设计上的问题,正常应只保留有限时间的收藏或者限制用户收藏的数量),一般用户收藏数是不超过100的,查询耗时是几毫秒,该用户收藏数2W+,查询耗时接近200毫秒。
4090 0
用flex布局局部滚动页面
用flex布局局部滚动页面
506 0
用flex布局局部滚动页面

热门文章

最新文章