mysql分片
分片算法主流的两种为范围法和分片法
一片净土
1 | # 第一种 |
购买证书不用再过多赘述,阿里云文档已经很完善了,主要记录一下遇到的服务器部署的坑
1 | server { |
这个按着文档来也很简单,需要注意的如下
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
,然后make && make install
即可1 | // 添加 |
上面两个也是基本操作,但是接下来我遇到的问题是关闭ng,某些使用ng的网站还能访问(???),我使用的命令是nginx -s stop
,按理说应该ng暂停工作了才对,但是并没有(???),查看80端口netstat -ntlp|grep 80
发现ng还在运行中,kill之后终于成功,不懂当时为何stop命令失效,无法复现
每次打包上线过于麻烦,Jenkins又太慢(不清楚具体原因),所以自己搞了个脚本用于快速部署吧,通过alibaba cloud toolkit
插件安装过于简单就不提了,这里主要记录一下脚本的编写和插件的使用
工具-->Alibaba Cloud-->Deploy to Host
Deployment
标签内执行前添加maven命令,自动生成的即可
After Deploy
中填写自动部署脚本,需要创建2个脚本,并设置两个脚本的权限chmod
1 | # fabu.sh 第一个是将jar包上传到服务器,并拷贝到容器中去 |
1 | # into.sh 这个是docker exec后的处理脚本 |
这里建议使用root权限,如果是其他权限的话docker 日志无法同步查看,需要手动执行命令
切换到Advanced
标签,勾选Automatic open after deploy
,输入命令
1 | docker exec -it es-search /bin/bash |
1 | <!--open-type 注意需要修改为switchTab--> |
1 | Page({ |
<block>
标签如果要一次性控制多个组件的展示与隐藏,可以使用一个 <block></block>
标签将多个组件包装起来,并在<block>
标签上使用wx:if
控制属性
注意:<block>
并不是一个组件,它只是一个包裹性质的容器,不会在页面中做任何渲染
因为使用的苹果m1系统,所以网上许多用docker安装部署的方式无效,有效镜像如下
1 | # 注意的是,需要开启这3个端口才行 |
问题:nacos配置出错,Server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={}
进入docker容器,配置conf/application.properties
1 | spring.datasource.platform=mysql |
重启容器即可
1 | SELECT a.* FROM 表1 a,(select id from 表1 where 条件 LIMIT 1000000,20) b where a.id = b.id; |
原理:1、减少回表操作;2、可参考《阿里巴巴Java开发手册(泰山版)》第五章-MySQL数据库、(二)索引规约、第7条:【推荐】利用延迟关联或者子查询优化超多分页场景。说明:MySQL并不是挑过offeset行,而是取offset+N行,然后返回放弃前offset行,返回N行,那当offset特别大的时候,效率就非常的底下,要么控制返回的总页数,要么对超过特定阈值的页数进行SQL改写。
先通过查找符合条件的主键id,再通过id去查找所有信息会快很多