盘点Mysql慢查询的12个原因(未完待续) 很多时候,我们的慢查询,都是因为没有加索引,如果没有加索引的话,会导致全表扫描,因此在where的条件列建立索引,尽量避免全表扫描反例:正例:有时候明明添加了索引却不生效,在以下场景不生效,如下图为什么第一条语句了呢?这是因为不加单引号时,是字符串跟数字的比较,它们类型不匹配,MySQL会做,把它们转换为浮点数再做比较。隐式的类型转换,索引会失效。对于or + 没有索引的age这种情况,假设它走了userId的索引,但是走到age查询条件时,还得全表扫描,,Mysql优化器出于效率与成本考虑
「解决Tomcat JDK版本兼容性问题及离线安装Docker教程」(离线安装SqlServer2022企业版+tomcat7+jdk1.7(centos7)) 创建daemon.json配置文件,用来指定docker创建的镜像所处的目录,以免空间不足。将备份文件复制到docker下的sqlserver容器中,不然找不到备份。这个是将导出的sql文件复制到docker中导入不然直接导入找不见文件。②点击i,下面出现-----insert----进入编辑状态。复制完成之后,点击esc键,并输入:wq!1、获取docker安装文件,官方地址如下(可执行如下命令,查看上述复制内容是否正确。官网下载解压和正常的1.8配置一样。在已经运行的容器上更新重启策略。
「Java同步原理与底层实现解析」 每一个锁关联一个线程持有者和一个计数器、当计数器为0时表示该锁没有被任何线程持有,此时任何线程都可以获得该锁并调用,当有一个线程请求成功时,jvm会记录下持有锁的线程并将计数器设为1,此时其他线程请求该锁,则必须等待,当持有该锁的线程再次请求这个锁,重入后将计数器加1,当线程退出该锁,计数器就会递减,如果计数器为0时则释放锁。在使用分布式锁是会出现,在释放锁的时候如果前面的业务出问题了,导致释放锁没有执行,所以要对之前的业务逻辑进行异常捕获,并且将释放锁放到finally中,但是还会出现。
探索移动端可能性:Capacitor5.5.1和vue2在Android studio中精细融合 移动应用开发是日益复杂的任务,本文将带领您深入探索如何无缝集成Capacitor5.5.1、Vue2和Android Studio,以加速您的开发流程Capacitor是一个用于构建跨平台移动应用程序的开源框架。Vue是一个流行的 JavaScript 框架,用于构建用户界面。是用于开发 Android 应用程序的官方集成开发环境(IDE)。
nginx配置详解 Nginx的官网文档中说下面这两条是做反代时默认的,所以$proxy_host 自然是 proxy_pass后面跟着的host了proxy_set_header Host。1)后端服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果nginx代理层不重写请求头中的host字段,将会导致请求失败,报400错误。在使用Nginx做反向代理的时候,proxy_set_header功能可以设置反向代理后的http header中的host,如果客户端发过来的请求的。
springboot异步操作之Async 最近看了下springboot的异步操作,学到了使用async注解来实现异步操作的功能,这不就立马把项目中的发送邮件通知就都换成了异步的操作,而不是去新建一个线程来发送通知,虽然async注解也是通过新线程的方式来实现,但就很美观。下面就来看看async的简单示例。
Redis介绍 Redis官网中文官网英文管网概念Redis 是一个开源的,内存中的数据结构存储系统,单线程vhrn它可以用作数据库、缓存和消息中间件。默认有16个数据库Redis为什么单线程还快?误区:1有人会认为高性能的服务器一定是多线的?高性能的服务器不一定是多线程的2多线程(使用多线程会去用cpu调度上下文的切换)一定比单线程效率高cpu>内存>硬盘核心:Redis是将所有的数据放在内存中的,所以说使用单线程操作效率就是最高的。为什么呢?因为多线程会产生cpu的上下文切换这是一
Gson (自定义转化器) 日期转换异常:Caused by: java.text.ParseException: Failed to parse date 导致原因:数据库存储的创建时间为timestamp类型,导致Gson日期转换异常网上来源根据官网给定的方式,直接通过匿名内部类的方式实现了 JsonDeserializer 接口,重写 deserialize 方法,代码如下:
linux+nginx+前后端部署 目前知道的部署方式有前后端统一使用tomcat部署、nginx部署nginx部署:在linux上搭建nginx环境见nginx,前端发布作者用的vue2 , history模式(也就是去掉url中的 #)搭建好vue项目后,在控制台打包,执行命令npm run build也可以在项目的根目录找到package.json,点击build的按钮,会在vue项目的目录下生成一个dist文件,咱们只需要把dist打成dist.zip就ok登录linux服务器,将dist,zip上传到你想要的目录