性能优化

SQL Server 数据库性能优化

不想你离开。 提交于 2020-01-19 03:23:02
1. 查看执行时间和cpu set statistics time on select * from Bus_DevHistoryData set statistics time off 执行后在消息里可以看到 2. 查看查询对I/O的操作情况 set statistics io on select * from Bus_DevHistoryData set statistics io off 执行之后的结果: 扫描计数:索引和表执行次数 逻辑读取:数据缓存中读取的页数 物理读取:从磁盘中读取的页数 预读:查询过程中,从磁盘放入缓存的页数 lob逻辑读取:从数据缓存中读取image、text、ntext或大型数据的页数 lob物理读取:从磁盘中读取image、text、ntext或大型数据的页数 lob预读:查询过程中,从磁盘放入缓存的image、text、ntext或大型数据的页数 如果物理读取次数和预计次数比较多,可以使用索引进行优化。 上述两种信息的查看如果不想写sql,可以通过设置完成: 工具->选项 3. 查看执行计划 选中查询语句,点击 一、数据库设计优化 1、不要使用游标。 使用游标不仅占用内存,而且还用不可思议的方式锁定表,它们可以使DBA所能做的一切性能优化等于没做。游标里每执行一次fetch就等于执行一次select。 2、创建适当的索引

前端性能优化之自定义性能指标及上报方法详解

£可爱£侵袭症+ 提交于 2020-01-18 22:17:48
转自公众号文章,觉得不错,拿来收藏: https://mp.weixin.qq.com/s?__biz=MzAwNDcyNjI3OA==&mid=2650843337&idx=2&sn=681c3fcbc5fdb56bbf5978921e7e5de5&chksm=80d383a0b7a40ab68f571fcd5830c69fc3d3d0ac4c9a4482cf2582a0031ce8e366e0f5215f45&mpshare=1&scene=23&srcid=0117luqxTMWcfbQiO5OgNNN3&sharer_sharetime=1579270274111&sharer_shareid=49e276b2e624f54fc5b024238a201770#rd 背景 性能优化是所有前端人的追求,在这条路上,方法多种多样。这篇文章,说一下利用浏览器的一些API,可以怎样进行自定义性能指标及上报。 PS:后面会出一篇利用chrome开发者工具进行性能分析的哦,敬请期待~ 自定义性能指标介绍 自定义性能指标这里,主要要介绍的是 Performance 接口,这个接口可以获取到当前页面中与性能相关的信息。主要包含了Performance Timeline API、Navigation Timing API、 User Timing API 和 Resource Timing

数据库访问性能优化

帅比萌擦擦* 提交于 2020-01-18 09:23:35
特别说明: 1、 本文只是面对数据库应用开发的程序员,不适合专业 DBA , DBA 在数据库性能优化方面需要了解更多的知识; 2、 本文许多示例及概念是基于 Oracle 数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于 KV 数据库或内存数据库或者是基于 SSD 技术的数据库; 3、 本文未深入数据库优化中最核心的执行计划分析技术。 读者对像: 开发人员: 如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化。 架构师: 如果你已经是数据库应用的架构师,那本文的知识你应该清楚 90% ,否则你可能是一个喜欢折腾的架构师。 DBA (数据库管理员): 大型数据库优化的知识非常复杂,本文只是从程序员的角度来谈性能优化, DBA 除了需要了解这些知识外,还需要深入数据库的内部体系架构来解决问题。 引言 在网上有很多文章介绍数据库优化知识,但是大部份文章只是对某个一个方面进行说明,而对于我们程序员来说这种介绍并不能很好的掌握优化知识,因为很多介绍只是对一些特定的场景优化的,所以反而有时会产生误导或让程序员感觉不明白其中的奥妙而对数据库优化感觉很神秘。 很多程序员总是问如何学习数据库优化,有没有好的教材之类的问题。在书店也看到了许多数据库优化的专业书籍,但是感觉更多是面向 DBA 或者是 PL/SQL 开发方面的知识

css写作建议和性能优化小结

家住魔仙堡 提交于 2020-01-18 09:01:29
1.前言 还有几天就到国庆中秋了,快要放假了,先祝大家节日快乐!之前写过js的写作建议和技巧,那么今天就来聊聊css吧!说到css,每一个网页都离不开css,但是对于css,很多开发者的想法就是,css只要能用来布局,把效果图排出来就可以了,其它的细节或者优化,不需要怎么考虑。但是我觉得css可不只是把页面的布局完成就是完事的,还需要考虑很多细节有优化,更不会像大家想得那么简单,在学习当中,如果发现什么技巧或者优化的点,我也会学以致用!那么今天,就分享下我总结的css写作建议和性能优化的一些问题!希望能帮让大家对神奇的css有一个新认识,当然,如果大家觉得还有什么其它的建议。欢迎指点! 2.css渲染规则 首选,关于css渲染的规则,大家可能都知道,是从右到左的渲染!如下栗子 .nav h3 a{font-size: 14px;} 渲染过程大概是:首先找到所有的 a ,沿着 a 的父元素查找 h3 ,然后再沿着 h3 ,查找 .nav 。中途找到了符合匹配规则的节点就加入结果集。如果找到根元素 html 都没有匹配,则不再遍历这条路径,从下一个 a 开始重复这个查找匹配(只要页面上有多个最右节点为 a )。 参考: CSS选择器从右向左的匹配规则 3.嵌套层级不要超过3级 一般情况下,元素的嵌套层级不能超过3级,过度的嵌套会导致代码变得臃肿,沉余,复杂。导致css文件体积变大

性能优化相关

孤街醉人 提交于 2020-01-18 08:00:55
性能优化相关 1.前端 1.1请求性能优化 1)请求方式异步 2)请求发送内容用gzip压缩 1.2Js文件按需导入 类似如下方式 Ext.require([ ‘Ext.Gc3.CntTypeHelp’, ‘Ext.Gc3.Dept’, ‘Ext.Gc3.Stamps’, ‘Ext.Gc3.YsflHelp’, ‘Ext.Gc3.CntKgHelp’, ‘Ext.Gc.GcNumber’, ‘Ext.Gc.GcNumber’ ]); 1.3 UI渲染相关(框架ExtJs4.2) 1)grid控件的数据量大时需要虚拟滚动: 在grid的plugins数组内部添加,{ ptype: ‘bufferedrenderer’ }即可 2)grid的数据大量导入需要用loadData(record) 3)grid修改数据数据时比如需要修改多行数据然后循环操作store进行set的需要在改数据之前Ext.suspendLayouts(); //停止刷UI 然后在修改set完之后Ext.resumeLayouts(true);//开始刷UI 4)单据打开时一定要先渲染UI不要在刷完数据之后再去渲染,提高用户体验 5)多Tab页的单据需要懒加载需要进行懒加载 2.后端 1)不要在Controller循环find,不然很容易造成数据库连接数过多客户连不上 首先这会增加连接数

PL/SQL性能优化

ⅰ亾dé卋堺 提交于 2020-01-17 21:31:43
一:SQL性能优化原理 1.1sql处理体系结构 1.2执行计划 sql语句转换前的步骤: 1.语法检查:检查sql语句的拼写是否正确 2.语义分析:核实所有与数据字典不一致的表或列的名字 3.概要存储检查:检查数据字典,以确定该sql语句的概要信息是否已经存在 4.生产执行计划:使用CBO规则和数据字典中的统计表来决定最佳执行计划 5.生成二进制代码:基于执行计划,生成可执行代码 执行计划是oracle在执行每个sql语句时所采取的执行顺序. 执行计划包括: 1.语句所引用的表的顺序 2.语句所设计的表的访问方式 3.语句中连续操作所影响到的各表的连接方法 查看计划前授权: --系统用户执行 SQL > @D :\Oracle\app\oracle\product\ 10.2 .0 \server\RDBMS\ADMIN\utlxplan . sql ; --本地电脑路径,执行utlxplan.sql Table created Executed in 0.047 seconds SQL > grant plustrace to scott ; --授权 Grant succeeded Executed in 0.009 seconds --scott用户 SQL > @D :\Oracle\app\oracle\product\ 10.2 .0 \server\RDBMS

MySql性能优化

拜拜、爱过 提交于 2020-01-17 14:11:51
` ` ` bash show variables like '%max_connections%' ; show variables like '%max_user_connections%' ; ` show variables like '%max_connections%' ; show variables like '%max_user_connections%' ; ` ` MySQL性能 最大数据量 最大并发数 查询耗时0.5秒 实施原则 数据表设计 数据类型 避免空值 text类型 索引优化 索引分类 优化原则 SQL优化 分批处理 不做列运算 避免Select * 操作符<>优化 OR优化 IN优化 LIKE优化 JOIN优化 LIMIT优化 其他数据库   博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是 没有命中索引和没有分页处理 。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。 MySQL性能 最大数据量    抛开数据量和并发数,谈性能都是耍流氓 。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 文件系统 单文件大小限制 FAT32 最大4G NTFS

安卓性能优化之trace工具使用

天大地大妈咪最大 提交于 2020-01-17 13:52:39
在开发中我们想分析每段代码耗时情况 就可以使用trace工具分析了,这个工具比较详细分析每个函数耗时情况,比较直观清晰。 ---------------------------------------使用---------------------- 这个工具是安卓系统自带的直接使用就可以了 #1先定义个file文件存储trace文件 File file = new File(Environment.getExternalStorageDirectory(), "app1.trace"); #2在需要分析的代理前面写下面代码 Debug.startMethodTracing(file.getAbsolutePath()); ----------分析的代码--------- #在分析结束代码后面写下面代码 Debug.stopMethodTracing(); #注意需要获取读写权限 #app启动运行到执行的代码页面就可以了, #如何获取trace文件 在需要存储的文件夹输入cmd 再输入下面指令 adb pull /storage/emulated/0/app1.trace 就可以获取文件了 (注意如果没有生成文件 看看模拟器是否提示连接,如果提示连接就连接后再执行这个命令 我的模拟器是AS自带的27) 再把这个文件拖到AS里面就可以分析了 我我们主要看Wall Clock

MySQL性能优化学习(一)—— MySQL的执行流程

佐手、 提交于 2020-01-17 05:09:02
一、一条sql的执行过程 APP(客户端) ↓↓ 查询缓存 可以提高效率,但sql不完全一样时即失效。表内容变化时也失效。因此最好还是ORM框架去实现。 MYSQL的查询缓存默认关闭,8.0的版本以后已经去除该缓存模块。 ↓↓ 解析器 对sql进行词法解析,语法解析。判断是否正确 ↓↓ 预处理器 检查表是否存在,列是否存在 ↓↓ 查询优化器 执行前对sql进行优化,生成执行计划 查询优化器追踪: ↓↓ 查询执行引擎 由其获得执行计划去操作存储引擎 ↓↓ 存储引擎 数据存放在什么结构里,由存储引擎决定。 每个表都可以有不同的存储引擎。 查看表的存储引擎: show table status from `tablename`; 执行流程整体图: 二、存储引擎 5.5版本以前默认MyISAM,之后默认InnoDB MyISAM只支持表级别的锁,插入和查询的操作效率高,不支持事物,不支持外键。 InnoDB支持事物和外键,支持行锁,因此数据完整性较高。数据一致性要求高,比较多更新操作适用, Memory数据存放在内存中,读写数据快,如果需要临时存储数据适用。 CSV表体积较小,适用于迁移,不支持索引。 InnoDB的结构 BufferPoor:写入磁盘前先走BP,提升读写效率 RedoLog:先写日志,再把数据从内存同步到磁盘中 仅在InnoDB中实现,可用于崩溃恢复 UndoLog

隔壁老主精讲web页面性能优化。

让人想犯罪 __ 提交于 2020-01-17 02:27:01
  首先说一下为什么要进行web页面性能优化,在同样的网络环境下,两个同样能满足你的需求的网站,一个“Biu”的一下就加载出来了,一个卡--卡--卡--卡--卡--才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是0-3秒,如果等待超过3秒,90%的用户会关闭这个网页,如果等待超过10秒,99%的用户会关闭这个网页。所以如何提高网页的加载速度就显得尤为重要。而网页的加载速度又和web页面性能优化息息相关,所以web页面性能优化也是势在必行的。   下面为大家仔细讲述一下网页加载时间主要花费在了哪里。大家先看一下一下 性能黄金法则 :网页加载时间只有10%~20%的最终用户响应时间花在了下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上,也就是花在了下载页面中的所有组件进行的HTTP请求上。所以如何减少HTTP请求,就成了web页面性能优化的重中之重;在这里隔壁老主来给大家介绍几种减少HTTP请求的方法。   1、 减少网页中图片网址的个数 。在一个网页中有五幅图片,点击每张图片都会进入一个链接,这样五张导航的图片在加载时会产生5个HTTP请求,如果将这五个图片合并到一张图片上,那么所有点击提交到同一个url,这样就只需要一个HTTP请求。这种将网页中的多个图片融合到一张图里面的方法被称为CSS Sprites直译过来就是CSS精灵