优化策略

SQL优化策略

依然范特西╮ 提交于 2020-01-20 15:29:43
策略1.尽量全值匹配 EXPLAIN SELECT * FROM staffs WHERE NAME = 'July'; EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25; EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25 AND pos = 'dev'; 策略2.最佳左前缀法则 如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且 不跳过索引中的列 。 策略3.不在索引列上做任何操作 不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描。 EXPLAIN SELECT * FROM staffs WHERE left(NAME,4) = 'July'; 策略4.范围条件放最后 存储引擎不能使用索引中范围条件右边的列 策略5.覆盖索引尽量用 尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select * 策略6.不等于要甚用 mysql 在使用不等于(!= 或者<>)的时候无法使用索引会导致全表扫描 策略7.Null/Not 有影响 注意null/not null对索引的可能影响 策略8.Like查询要当心 like以通配符开头('%abc...'

如何优化库存管理

会有一股神秘感。 提交于 2020-01-17 04:42:10
如何才能够保证产品有竞争力?控制运营成本是关键!而这其中合理、适当的库存规模又是重中之重!本文介绍企业如何使用众多新信息化技术对库存进行按理管理和优化。    现在商业的竞争早已经不再是单纯意义上的单个企业的商业行为,无论是策略化的企业联盟、SCM还是诸如ECR(高效客户化响应机制)等等新兴的管理技术的 出现无疑都是因应这一趋势的产物;一方面空前强大的制造机器在不停的制造着大量的产品,而另一方面面对琳琅满目的货架消费者又往往无所适从;消费者和我们 面临着同样的选择,面对繁杂、多样的产品和过剩的信息我们究竟该何去何从?从本质上来看问题的核心是我们如何才能够在保证维持并尽可能提升有竞争力的客户 化服务水平的前提下去控制我们的运营成本!而这其中合理、适当的库存规模又是重中之重!   正如同我们所熟知的7R原则一样,供应链系统的优化是一个长期、持续的行动而绝非是一时一地一组织的短期行为;这其中既有来自外部的竞争性变化因素和 相关的社会化要素,又有来自企业内部对提升自身核心竞争能力诉求的内部因素。从企业内部要素来看:库存计划、需求计划预测、供应链响应速度、系统的准确性 和差错率四个方面无疑是我们关注的焦点所在。   而库存状态的变化、跟踪、控制也早已经超出了我们通常概念下的纯粹数量的概念,从业内最新的一些管理技术动向来看,策略性合作伙伴关系联盟已经成为了 我们共同的挑战。在国内竞争国际化

策略模式之if else代码优化

梦想与她 提交于 2020-01-16 00:31:48
一、概念   策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 if else使用 if ( pageLevel = "1" ) { // 发送get请求 } else if ( pageLevel = "2" ) { // 发送post请求 } else { // }   这种if else代码块中,代码很难维护也很也不够美观,那么我们可以使用策略模式来处理这种情况。 二、案例   简单来讲就是定义一个接口,然后有多个实现类,每种实现类封装了一种行为。然后根据条件的不同选择不同的实现类。 抽象业务接口 public interface SendRequestCenter { public abstract void solve ( String param ) ; public abstract String [ ] supports ( ) ; } 接口实现类,举例:一个发送get请求,一个发送post请求 import org . springframework . stereotype . Component ; @Component public class SendPostRequestSolver implements SendRequestCenter {

国科大 高级人工智能

。_饼干妹妹 提交于 2020-01-13 21:54:28
大家好!又到了期末时间,各位国科大的师弟师妹们,师兄帮你们总结了高级人工智能的考点,如果你好好复习了,那么这篇博文能帮你上90;如果没有也不要怕,认真看了这篇博文,也能保你70。下面我们开始吧,更多考试知识点请关注公众号“算法岗从零到无穷”。转载请注明出处。 目录 往届考试知识点 知识点罗列 概念 搜索 深度学习 命题逻辑与一阶谓词逻辑 命题逻辑 一阶谓词逻辑 群体智能 强化学习 博弈论 老师上课讲的考点 行为主义 符号主义 必复习的知识点 有时间可复习的知识点 关注我 例题讲解 大胆押题 选择题 计算题 参考博客 往届考试知识点 BP GAN 搜索 田忌赛马 Transaction Database 感知机 玻尔兹曼机 A*搜索 语义网络:一阶谓词逻辑,模糊逻辑 蚁群优化算法和粒子群算法 网络交互博弈 遗传算法 信息熵 deep belief networks 人工智能三大分支 野人与传教士 多臂赌博机 每年的大题都是强化学习 知识点罗列 概念 人工智能概念性定义:机器智能,类脑智能,群体智能 人工智能三大学派:符号主义学派,联结主义学派,行为主义学派 搜索 深搜一般来说时间复杂度大但空间复杂度小,广搜空间相反。深度优先适合深度大的树,不适合广度大的树,广度优先正相反 图A*算法是最优的条件是一致性;树A*算法是最优的条件是可采纳性 传教士和野人问题的A* 搜索 爬山法搜索

Hibernate的查询优化策略

旧时模样 提交于 2019-12-27 07:48:34
文章目录 1. 延迟加载 1.1 类级别的延迟加载 1.2 关联级别的延迟加载 2. 抓取策略 2.1 在<set>标签上的fetch和lazy 2.1 在<many-to-one>标签上的fetch和lazy 3. 批量抓取 1. 延迟加载 延迟加载(也称为懒加载)是Hibernate关联关系对象默认的加载方式,延迟加载机制是为了避免一些无谓的性能开销而提出来的, 所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作 。 通常将延迟加载分为两类:一类叫做类级别延迟,另一类叫做关联级别的延迟。类级别的延迟指的是查询某个对象的时候,是否采用有延迟,这个通常在<class>标签上配置lazy属性。关联级别的延迟指的是,查询一个对象的关联对象的时候是否采用延迟加载,这个通常在<set>或<many-to-one>上配置lazy属性。 1.1 类级别的延迟加载 使用load方法检索某个对象的时候,这个类是否采用延迟加载的策略,就是类级别的延迟。类级别的延迟一般在<class>上配置lazy属性,lazy的默认值是true,默认是延迟加载的,所以使用load方法去查询的时候,不会马上发送SQL语句,当真正使用该对象的时候,才会发送SQL语句。 Customer customer = session . load ( Customer . class , 1 L ) ;

防火墙和系统安全防护和优化

旧巷老猫 提交于 2019-12-15 17:18:13
防火墙和系统安全防护和优化 防火墙 防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15)。它是一种位于内部网络与外部网络之间的网络安全系统。一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。 定义 所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。[2] 在网络中,所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。换句话说,如果不通过防火墙,公司内部的人就无法访问Internet

防火墙和系统安全防护和优化

若如初见. 提交于 2019-12-13 12:40:13
策略配置与优化 防火墙策略优化与调整是网络维护工作的重要内容,策略是否优化将对设备运行性能产 生显著影响。考虑到企业中业务流向复杂、业务种类往往比较多,因此建议在设置策略时尽量 保证统一规划以提高设置效率,提高可读性,降低维护难度。 策略配置与维护需要注意地方有: 试运行阶段最后一条 策略定义为所有访问允许并记录日志,以便在不影响业务的情况下 找漏补遗;当确定把所有的业务流量都调查清楚并放行后,可将最后-条定义为所有访问禁止 并记录8志,以便在试运行阶段观察非法流量行踪。试运行阶段结束后,再将最后一条“禁止 所有访问”策略删除。 防火墙按从上至下顺序搜索策略表进行策略匹配,策略顺序对连接建立速度会有影响, 建议将流量大的应用和延时敏感应用放于策略表的顶部,将较为特殊的策略定位在不太特殊的 策略上面。 策略配置中的Log(记录日志)选项可以有效进行记录、排错等工作,但启用此功能会耗用 部分资源。建议在业务量大的网络上有选择采用,或仅在必要时采用。 简化的策略表不仅便于维护,而且有助于快速匹配。尽量保持策略表简洁和简短,规则 越多越容易犯错误。通过定义地址组和服务组可以将多个单一策略合并到一条组合策略中。 策略用于区域间单方向网络访问控制。如果源区域和目的区域不同,则防火墙在区域间 策略表中执行策略查找。如果源区域和目的区域相同并启用区域内阻断,则防火墙在区域内部 策略表中执行策略查找

apicloud开发优化策略

一笑奈何 提交于 2019-12-08 03:36:07
用apicloud开发的优化策略总结: 类别 优化点 说明 HTML 1 用div代替a 省去默认效果 2 使用HTML5语义化标签 如<nav></nav> <section></section>可以包header和footer 窗口结构 1 Window+Frame结构布局 Frame的高度用margin布局 2 按需求优先使用FrameGroup Window和Frame是原生的,效率很高 页面加速 1 HTML,CSS,Javascript写在同一页面中,尽量少定义lnk和script标签 让浏览器引擎尽可能地一次读写(IO)加载完所有代码 不用重型框架 1 不用jq和bootstrap 降低加载速度,在移动端存在兼容问题 交互响应 1 使用tapmode和api.parseTabmode处理click事件 可加快300ms,这个分别要在HTML和JS代码中主动处理 2 扩大点击区域设计和交互效果 让用户知道更容易点和知道自己点了 编码规范 1 任何文件名避免中文和大写英文 可能造成编译失败或未知错误 转载于:https://www.cnblogs.com/zengdi/p/9234887.html 来源: CSDN 作者: weixin_30737363 链接: https://blog.csdn.net/weixin_30737363/article/details

数据库优化策略之负载均衡、读写分离

若如初见. 提交于 2019-12-06 09:54:48
补充:负载均衡和读写分离楼主并没有尝试使用过,这里作为学习笔记,有些只是概念性的理解一下,后续补充具体案例及使用方法介绍 负载均衡 概念 多个服务器的数据库完成一个服务器数据库的事 ( 数据库必须保持一致性 ) 利用多台服务器的读写能力,但是数据同步和访问分配交给第三方,读的压力分摊到不同的 服务器,写时多台服务器都得完成,对外只有一个 IP ,使用者是不知道细节的 读写分离 概念 基于二八原则: 80% 的操作都是读, 20%s 写。实现原理:就是把读和写的眼里分开,降低 IO 压力 一主多从,主库写从库读。数据同步,从主库到从库 ( 肯定是有延迟的 ) 四种读写分离方式 1 Link 到主库 + 定时任务 2 日志传送 (sql2005) 实现原理:备份 -- 复制 -- 恢复,简单但是有局限性 ( 局域网,只能文件夹共享 ) 3 镜像 snapshot :内存拍照 主库,对外提供服务。 从库,通过快照恢复,数据跟主库一致 ( 不对外提供服务 ) 监控转移,负责检查状况,有问题切到从库 4 数据复制 ( 发布订阅 ) 主库 -- 发布服务器 -- 从库 延迟小,配置方便,但是需要程序配合 实现方式参考 : https://blog.csdn.net/u012861467/article/details/76411216 https://blog.csdn.net/qq

数据库优化策略之分区、分表、表分区

 ̄綄美尐妖づ 提交于 2019-12-06 09:54:18
分库、分表、表分区 来源场景:读写分离以后可分为一个主库 ( 主库负责写 ) 加上 N 多个从库 ( 从库负责读 ) , 但是因为业务量的扩大,主库还是无法承受写入的压力,那么此时就可以考虑分库、分表、表分区 来进一步优化 分库: 场景 1 :比如一个系统涵盖了订单 \ 物流 \ 仓储 ..... 等等 垂直分库,按业务拆分库,不同库不同的服务器 场景 2:订单增删改特别大 水平分库,每个库结构一致数据不一致 (地域/时间/类别/随机算法) 分表 场景 1 : 文章表, 10个常规字段+1个很长的内容字段 垂直分表,减小表体积,提升增删改查的效率 场景 2: 单表数据量太大 (订单表/商品表) 水平分表 (地域/时间/类别/随机算法) 表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里。 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个 cpu进行处理。这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作数据是大大有利的。 所以大数据量的数据表,对分区的需要还是必要的,因为它可以提高 select效率,还可以对历史数据经行区分存档等。但是数据量少的数据就不要凑这个热闹啦,因为表分区会对数据库产生不必要的开销,除啦性能还会增加实现对象的管理费用和复杂性。