首页 > 数据库 > > GaussDB 100 SQL语句硬解析
GaussDB 100在第一次执行一条SQL语句时,该SQL语法会被执行硬解析,生成相应的执行计划缓存到独立的Shared Pool内存区,后续再次执行该语句时,系统自动匹配SQL文本并直接调用缓存在SQL Pool中的执行计划,省去了再次硬解析的步骤,减少SQL执行时间。
SQL文本必须每个字符都完全一致的情况下,GaussDB 100认定可复用SQL Pool中的历史执行信息和复用执行计划,即使SQL文本存在细微的差异,GaussDB 100也认为是完全不同的SQL语句,在执行时会重复进行硬解析,并生成单独的执行计划缓存在Shared Pool中。如果SQL文本中仅是where过滤条件中的数值不同,推荐业务使用绑定变量的方式。关于绑定变量的使用方式,请参见《GaussDB 100V300R001C00研发支持文档》。
SQL Pool占用内存的大小受内存参数SHARED_POOL_SIZE影响,该内存区大小可动态修改。可以使用DV_GMA视图查看SGA的结构及共享池的大小,可以使用DV_SQLS视图查看缓存的SQL语句,可以使用DV_OBJECT_CACHE视图查看数据字典缓存。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3131294/ ,如需转载,请注明出处,否则将追究法律责任。