MySQL 索引概览

转自:MySQL 索引概览

索引定义

索引是一种专门用于帮助 SQL 高效获取数据的数据结构,一个常用的例子是,索引类似于一本书的目录,可以快速对特定值进行定位和查找,从而大大加快数据查询的效率。实际上,索引也是一张表,这张表保存了主键与索引字段,并指向实体表的记录(类似指针)。

索引优缺点

优点

  • 索引大大减小了服务器需要扫描的数据量
  • 索引可以帮助服务器避免排序和临时表
  • 索引可以将随机IO变成顺序IO
  • 索引对于InnoDB(对索引支持行级锁)非常重要,InnoDB仅对需要访问的元组加锁,而索引能够减少InnoDB访问的元组数。如果查询不能使用索引,MySQL会进行全表扫描,并锁住每一个元组,不管是否真正需要。
阅读更多

Linux性能监控常用命令

系统

1
2
3
4
5
6
7
8
$ uname -a               		# 查看内核/操作系统/CPU信息
$ lsb_release -a # 查看操作系统版本 (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)
$ cat /proc/cpuinfo # 查看CPU信息
$ hostname # 查看计算机名
$ lspci -tv # 列出所有PCI设备
$ lsusb -tv # 列出所有USB设备
$ lsmod # 列出加载的内核模块
$ env # 查看环境变量
阅读更多

docker镜像加速

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com"
]
}

之后重新启动服务。

1
2
3
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

如何发布自己的Maven包

前言

在开发springboot starter的时候发现,如果写完的starter直接导入已有工程有些问题,还是要上传到maven然后通过maven引入比较规范,但是每次通过网页管理上传maven包太过麻烦,所以配置了一下通过idea直接deploy上私有仓库,下面记录一下过程。

阅读更多

Mysql备忘

Mysql权限

权限分布 可设置权限
表权限 ‘Select’, ‘Insert’, ‘Update’, ‘Delete’, ‘Create’, ‘Drop’, ‘Grant’, ‘References’, ‘Index’, ‘Alter’
列权限 ‘Select’, ‘Insert’, ‘Update’, ‘References’
过程权限 ‘Execute’, ‘Alter Routine’, ‘Grant’
阅读更多

CentOS7 Firewall常用命令汇总

  • 1、firewalld启停

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 启动
    systemctl start firewalld

    # 查看状态
    systemctl status firewalld

    # 下次不会开机启动
    systemctl disable firewalld

    # 关闭
    systemctl stop firewalld
  • 2、常用操作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 添加端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent

    # 重新载入
    firewall-cmd --reload

    # 查看端口
    firewall-cmd --zone=public --query-port=80/tcp

    # 删除端口
    firewall-cmd --zone=public --remove-port=80/tcp --permanent

    # 查看所有打开的端口
    firewall-cmd --zone=public --list-ports

Mysql读写分离

什么是主从复制、读写分离?

MySQL的主从复制和读写分离是一起出现的,目的是为了提升数据库的并发性能。

MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。

MySQL 的读写分离是指如果有三台MySQL,一台mater只负责写操作,两台salve只负责读操作。

主从复制、读写分离就是为了数据库能支持更大的并发。

随着业务量的扩展、如果是单机部署的MySQL,会导致I/O频率过高。采用主从复制、读写分离可以提高数据库的可用性。

阅读更多

IDEA插件修改

简介

有时候需要用到某些IDEA插件的高级功能,使用次数不高,但是高级版需要收费,因此对插件进行一些小修改,这里记录一下修改思路,具体修改的插件就不写了,避免不必要的麻烦。这里记录的方法仅供学习使用,如果有能力建议还是支持正版。

阅读更多

通过Docker Compose来部署MinIO

简介

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

阅读更多