面试题整理第二波

sql优化

mysql客户端/服务端是半双工,都是要么服务器==》客户端,客户端 ==》服务端

查询语句过长,需要设置max_allowed_packet参数,太大,会跑出异常;

mysql处理过程

img

很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已

mysql的优化器基于成本判断,选择最小成本的一个,并不一定最快的一个。

  • 视图设计和数据类型优化
  • 创建高性能的索引
  • 索引对应的数据结构和算法优化
  • 避免多个范围条件
  • 覆盖索引
  • 使用索引扫描排序
  • 优化count()查询
  • 优化union
    总结下上面:
  • 索引
  • 数据类型
  • 简单的函数条件判断减少
    请还是以实际开发中的遇到的问题,选择适合的优化,否则,与业务无关的优化,都是耍流氓!
    优化sql语句是很重要的,但是对于整个系统来说,优化的方向,更应该是系统中的应用服务,减少数据库方面的函数调用,用服务解决函数问题,更容易提高性能,减少数据库压力。

谨记:数据库就是存储数据的,是最不要计算的地方!

参考博客:https://www.cnblogs.com/liujiacai/p/7605612.html

select* 和select 全部字段有什么区别

从执行效率上,一般的sql语句解析都有缓存,没有什么差距。select * 可能会查询 Query Table Metadata For Columns(查询元数据表的列),可能会增加数据库压力,实际上,并没有什么不同!

从实际开发,优化开发角度,* 不容易让其他程序员看懂返回的具体数据有哪些,很不友好!(你要是嚣张,坚持* 的道路吧!)

建议:* 这种查询方式,适合在程序开发测试以及demo的时候,其他时间尽量写清返回的字段名

springboot的优势
  • 编码简单==用java config配置方式配置spring,提供大量注解
  • 配置简单==超多的默认配置,很多jar间的版本都会选用稳定的,不用自己注意jar冲突
  • 部署简单==不用tomcat等web容器,内置tomcat,jetty,undertow三种容器
  • 监控简单==提供了actuator包,可以使用它来对你的应用进行监控。

缺点:入门级的微服务

  • 集中式application.yml,这种配置不安全,不适合企业级的集中式的配置管理系统,不同配置严格分区存放
  • 监控系统的认证方式简单,不安全。
  • 在服务发现、注册没有的
如何启动springboot
  • 在开发阶段:启动springboot 的start类
  • 在部署阶段:
    • maven方式
    • java -jar jar包名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值