![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
kangswx
记录自己的学习历程,欢迎关注、交流
展开
-
MySQL数据类型以及存储引擎
影响MySql性能的主要因素:数据库结构设计;数据库存储引擎;SQL语句的书写;数据库参数配置;服务器操作系统与硬件。数据库设计三大范式:第一范式:数据库所有字段都只有单一属性;单一属性是由基本数据类型构成的;数据库的表都是二维的(行与列)(表中的字段不能被拆分);第二范式:在满足第一范式的前提下,表中必须有一个主键(一列或多列),其他字段可由主键确定,第二范式的目的...原创 2019-07-02 19:54:32 · 172 阅读 · 0 评论 -
MySQL架构、日志事务以及索引介绍
MySQL分为server层和存储引擎层server层连接器:管理连接权限验证查询缓存:命中缓存,直接换回结果分析器:分析语法优化器:生成执行计划,选择索引执行器:操作索引,返回结果存储引擎:存储引擎负责数据的存储和提取,器架构是插件式的,innodb在MySQL5.5.5版本开始成为MySQL的默认存储引擎InnoDB:支持事务,支持外键,InnoDB是聚集索...原创 2019-08-22 11:21:54 · 272 阅读 · 0 评论 -
Spring整合ShardingJDBC实现MySQL读写分离
首先需要搭建MySQL读写分离的服务器环境安装MySQL参见 CentOS下安装MySQL5.7(图文)搭建MySQL读写分离参见 ContOS下搭建MySQL主从复制新建一个Maven项目spring-sharding-masterslave引入相关的依赖<!-- sharding的核心包 --><dependency> <...原创 2019-07-23 15:29:00 · 254 阅读 · 0 评论 -
CentOS下登录远程MySQL、执行sql文件、备份和恢复数据库
登陆远程的MySQL服务器进入本地MySQL安装目录的bin下执行下面的命令./mysql -h host -P port -uusername -ppassword; #host 是远程MySQL的IP地址#port 是远程MySQL占用的端口号#username 是登录远程MySQL的用户名#password 是登录远程MySQL的密码选择需要使用的...原创 2019-07-16 16:37:21 · 927 阅读 · 0 评论 -
索引的学习及使用
限制单张表中索引的数量,建议单张表索引不超过5个;索引可以提高效率同样也可以降低效率,索引可以增加查询效率,但同样也会降低插入和更新的效率,甚至有些情况下回降低查询的效率。因为 MySQL 优化器在选择如何优化查询时,会根据统一信息,对每一个可以用到的索引来进行评估,以生成出一个最好的执行计划,如果同时有很多个索引都可以用于查询,就会增加 MySQL 优化器生成执行计划的时间,同样会降低查...原创 2019-07-12 08:45:39 · 123 阅读 · 0 评论 -
Windows下安装MySQL的zip包
在官网上下载MySQL安装包 mysql-5.7.26-winx64.zip解压安装包使用管理员打开cmd以后,进入MySQL的bin目录执行命令,初始化data目录,并生成一个没有有密码的root用户mysqld --initialize-insecure --console执行下面的命令,将MySQL注册到Windows的服务中mysqld install...原创 2019-07-04 20:58:59 · 174 阅读 · 0 评论 -
ContOS下搭建MySQL主从复制
准备工作CentOS操作系统 192.168.18.179CentOS操作系统 192.168.18.180两台操作系统中都安装了MySQL数据库,安装MySQL的过程可参考 CentOS下安装MySQL5.7(图文)MySQL的主从复制依靠的是二进制日志,其实现过程为:主服务器会将增删改的操作记录到日志文件里面,从服务器拿到主服务器的日志文件以后,再执...原创 2019-07-10 11:15:28 · 128 阅读 · 0 评论 -
Spring整合sharding-jdbc实现分库分表
准备两台数据库服务器 192.168.18.179 和 192.168.18.180,如下图对于不知道怎么在Linux服务器中安装MySQL的,可以参考 CentOS下安装MySQL5.7(图文)在192.168.18.179中新建一个数据库mall_0,如下图在192.168.18.180中新建一个数据库mall_1,如下图在mall_0和mall_...原创 2019-07-09 19:09:42 · 1288 阅读 · 0 评论 -
MySQL的索引的使用与执行计划分析
数据表中建立索引的目的:B+Tree索引:就是为表建立"目录",索引的目的就是为了防止全表扫描,索引的存储形式是由存储引擎决定。数据表中索引分类:从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引、full-index全文索引、R-Tree索引。从应用分层类划分:普通索引、唯一索引、复合索引从数据的物理顺序与键值的逻辑(索引)顺序关系:聚集索...原创 2019-07-04 09:34:58 · 425 阅读 · 0 评论 -
CentOS下安装MySQL5.7(图文)
关闭防火墙(永久性关闭,重启后不会还原)systemctl status firewalld #查看防火墙状态systemctl start firewalld #开启防火墙systemctl stop firewalld #关闭防火墙关闭防火墙( 即时生效,重启后会还原)service iptables startservice iptables stop...原创 2019-07-09 10:50:38 · 140 阅读 · 0 评论 -
常用SQL优化
count(*):对InnoDB而言,它需要把数据从磁盘中读取出来然后累计计数;而MyISAM引擎把一个表的总行数存在了磁盘上,所以count()会直接返回这个数,如果有where条件则和InnoDB一样。那么如何优化count(),一个思路是使用缓存,但是要注意双写一致的问题,还可以专门设置一张表用以存储count()。对于count(id)来说,InnoDB会遍历整张表,把每一行的id...原创 2019-08-22 19:16:57 · 222 阅读 · 1 评论