采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
问题一 :过滤器和 拦截器 是用的什么设计模式
问题2 老师我还想请教一下 23种设计模式那么多 肯定有些不长用的 我主要研究透那几种设计模式呀 给点建议呢
问题3 mysql 中索引是怎么实现的 我知道是b+树 真实就是这么实现的嘛 我想研究研究却不知道去怎么找我想知道答案的知识点 或者相关资料
问题4 mysql中 优化的 临时表一般怎么优化啊 这个我很困惑
老师 赐教啊 您最好了 我感觉身边资深开发也就工作年限高点而已 困惑我很久 这些问题
同学好,问题一 :过滤器和 拦截器 是用的什么设计模式
责任链模式往往用在框架的开发中,让使用者在不改变框架主体流程功能的情况下为某些流程增加扩展功能。
过滤器和拦截器就是为请求添加额外处理操作的工具,因此过滤器和拦截器使用的是责任链模式。
23种设计模式主要分为三大类,创建型、结构型和行为型,都是在某种场景下解决某些问题的通用方案,并且某些模式直接也是有关联关系。要完全熟悉这些模式还是需要到工程经验上去,你最终会发现使用设计模式也是为了满足软件高内聚低耦合的基本原则。所以老师不建议你专门去研究设计模式的概念,而是希望能够在工程实践中使用设计模式辅助你多去总结遇到的问题。
索引本质是为了能够更快的去查询数据,这也取决于数据的形态和组织方式,所以不同场景下会有不同的实现。使用 mysql InnoDB 引擎存储结构化数据时,用的是 b+树。推荐同学去看一本书《高性能 mysql》
同学应该了解mysql 中用到临时表的一些场景,复杂 sql 有时自动生成临时表去进行分组、排序、去重等操作,可以通过 explain 来查看执行计划。用到临时表一般都会影响性能,尤其是磁盘临时表。因此,我们在写复杂 sql 时会尽量去避免执行计划中自动生成临时表的情况。一般就是对 group by\order by的列添加索引,对 text 字段进行拆分、复杂 sql 拆分等方式去优化,或者是直接优化业务执行的逻辑等。
受教啦 感谢万分呢
登录后可查看更多问答,登录/注册
快速入门Spring核心源码+从零开发自研框架
1.2k 12
1.0k 9
1.1k 8
1.3k 8
15.6k 8