云贝教育技术文章优化plsqldeveloper代码助手卡顿
作者:刘晓峰
原文链接:http://www.tdpub.cn/Blog/detail/id/1327.html原因分析
代码助手卡顿来源于(不考虑网络和软件版本等影响)A.从已连接的数据库的数据字典中,读取该表的列信息B.将读取到的列信息返回到plsql编辑器,并进行字符处理,然后显示如何优化B
这个勾勾是维持IDE的代码和数据库数据字典大小写一致,影响性能
(我是怎么找到这个勾勾会影响性能呢,当然不是一个个按钮试的,得去搜这个IDE的官方文档,文档倒是一行行看的)
如果优化完第三步,可以将下面的delay由500毫秒改成100毫秒或者50毫秒,速度将会非常快
去掉此勾勾如何优化A
如果你在代码助手弹出列的时候就很卡,就可以接着往下看
详细说明见另一个文档,这里只给出操作步骤,另外只涉及到colunm的优化,package的代码助手同理,只不过优化的数据字典原始表不同,大家可以按照此方法自行优化检查数据字典的统计信息是否最新
作用:是使得对于数据字典的查询,生成执行计划更符合真实的数据分布
操作方法:在PLSQL窗口执行下面命令(如果你确认数据字典统计信息最新可以不执行,比如我就没执行)begin dbms_stats.gather_dictionary_stats; end; 注:dbms_stats.gather_fixed_objects_stats; 可以用于收集X$表统计信息开启共享游标,关闭自适应游标共享
作用:大大缓解了代码助手硬解析问题
操作方法:(一定要保证只有这些代码,否则有人写一写破坏性的代码在里面,风险就会很大)找到plsql developer安装路径,然后找到文件AfterConnect.sql所在位置,比如我的在这里
2.将下面代码复制进这个文件中DECLARE l_instance_name VARCHAR2(240); BEGIN SELECT i.instance_name INTO l_instance_name FROM v$instance i; IF l_instance_name = "ORCL" THEN EXECUTE IMMEDIATE " alter session set "_optimizer_extended_cursor_sharing_rel"=none "; EXECUTE IMMEDIATE " alter session set "_optimizer_extended_cursor_sharing"=none "; EXECUTE IMMEDIATE " alter session set "_optimizer_adaptive_cursor_sharing"=false"; EXECUTE IMMEDIATE "alter session set cursor_sharing=FORCE "; END IF; EXCEPTION WHEN OTHERS THEN NULL; END;
结果会像这样
作用:会在新开窗口后自动执行上述代码
隐藏参数基于会话修改,且是开发环境,问题不是很大。
Force一定一定不要在生产环境设置
按时间顺序来说是绑定变量-》共享游标-》自适应共享游标,后者都修复了前者的一些问题
ORCL 是需要替换的
请自行替换测试环境此SQL的查询结果:
SELECT i.instance_name FROM v$instance i;
像这样:
重启plsql developer之后就可以测试代码助手的速度了
测试环境的并发请求不会影响,如果需要在plsql developer进行SQL调优可以先注释掉上述代码
如果你操作之后速度变慢了,可以直接清空AfterConnect.sql文件3.优化代码助手查询数据字典的执行计划
一定要执行2才能继续往下执行,否则优化没有意义
作用:通过游标缓存记录的信息,发现开发环境的执行计划很差,所以你要是不差就不用执行。
怎么判断差不差?
有一个简单的方法select column_name, nullable, data_type, data_type_mod, data_type_owner, data_length, data_precision, data_scale, char_used, char_length from sys.all_tab_columns where owner = :A and table_name = :B order by column_id
拷贝到解释计划窗口,
若成本大于300小于1000则是需要考虑优化
成本大于1000那肯定是要优化的
成本小于50是正常情况,不用优化(我本地才30,跟我的基表少也有关系)
通过下面脚本,将会生成更好的执行计划并替换(繁琐但是有用,后续可以写一个数据泵和SPM导出的文档, 简单一点,但是效果可能没有我这个好)
优化代码助手查询数据字典的执行计划
如果你操作之后速度变慢了,可以直接清空AfterConnect.sql文件,因为我固定的是带绑定变量的执行计划,你关闭共享游标那么全是硬编码了。
所以计划基线不删也没问题,想删除的就可以自行删除,文档之前都在群里发过分析过程
感兴趣看看,我是怎么发现问题,解决问题的
plsql developer代码助手卡顿分析
林志玲忽然落泪,揭露了婚姻的真相引言最近,远嫁日本的林志玲产后首次在现身,说到自己的婚姻,她几度哽咽落泪不少网友却觉得她整个人都衰老好多了,显得消瘦而憔悴。更有网友出来爆料,林志玲遭过家庭暴力,假体被打掉虽然林志
政策暖风已至养老第三支柱前景可期周永冠2018年9月,国内第一只养老目标基金产品诞生,至今已满四周年。养老目标基金以追求养老资产长期稳健增值为目标,近几年受到越来越多投资者关注,成为养老保险体系第三支柱的代表性产
深秋最适合喝的一碗汤!温中健脾又养肝,喝过的都说好秋风起,天渐冷,空气愈发干燥,这时候就想喝上一碗热汤。那么,深秋喝什么汤最好呢?不能错过的鲫鱼汤鲫鱼是市场上最常见的鱼类之一,味道鲜美,中医认为它有温中健脾的作用,特别适合在秋季脾
脚下有神器我们每个人的脚下,天生就自带诸多的神器,比如足太阴脾经循经常用穴位之公孙穴商丘穴三阴交穴公孙取法足内侧缘,当第1跖骨基底的前下方。主治胃痛腹胀消化不良腹泻便秘热病烦心失眠精神病等。
穆里尼奥因祸得福,小组第二,附加赛有望血战欧冠大鲨鱼只要是有穆鸟球队的杯赛,总是充满着悬念与激情,就是说穆里尼奥就是为了杯赛冠军而生,媒体关注的就只有这个人本身,至于阵容和配置,那不是媒体该管的事!然后奇怪的现象就发生了,本赛季初,
利物浦10曼城,双方是否在演戏?北京时间10月16日23时30分,英超第11轮焦点大战打响,利物浦坐镇安菲尔德球场迎战卫冕冠军曼城。利物浦凭借萨拉赫的进球主场1比0击败曼城,排名升至第8位。本场比赛是否有猫腻,曼
重磅!2022年金球奖候选名单公布,本泽霸王龙板上钉钉法国足球在2022年8月13日正式公布2022年金球奖候选名单,6批共30人全部出炉。2022年金球奖颁奖将于北京时间2022年10月18日凌晨2点(凌晨1点50进行红毯环节,凌晨
油价即将调整国际油价14日显著下跌。截至当天收盘,纽约商品交易所11月交货的轻质原油期货价格下跌3。50美元,收于每桶85。61美元,跌幅为3。9312月交货的伦敦布伦特原油期货价格下跌2。9
复星将南钢售予沙钢,获资150亿元复星集团将向沙钢集团转让南钢股份股权的传闻,成为市场上关注的热点话题。据财新了解,复星集团已与中国最大民营钢铁企业沙钢集团签约,转让其持有的南京南钢钢铁联合有限公司60股权,交易对
继续强势远超预期上涨,五个交易日,全A五连大阳,收复一半跌幅受美股大跌影响,开盘全面性低开,全A低开后快速拉升一分钟翻红,全天振荡走高,收盘基本又是全天最高点报收,收盘报1176。101(最高点1176。123),上涨1。63,盘中1166
明确了!减免3个月房租,11月底前完成国务院国资委日前发布关于进一步做好2022年服务业小微企业和个体工商户房屋租金减免工作的通知(以下简称通知),就切实将服务业小微企业和个体工商户房屋租金减免到位做出详细安排。通知要