![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
99号
一二年好运!!!
展开
-
MySQL 学习(十)order by工作原理
order by工作原理关键字:max_length_for_sort_datamax_length_for_sort_data,是 MySQL 中专门控制用于排序的行数据的长度的一个参数。它的意思是,如果单行的长度超过这个值,MySQL 就认为单行太大,要换一个算法.假设你要查询城市是“杭州”的所有人名字,并且按照姓名排序返回前 1000 个人的姓名。CREATE TABLE `test_city` ( `id` int(11) NOT NULL, `city` varchar(16)原创 2020-11-20 16:11:19 · 103 阅读 · 0 评论 -
MySQL 学习(九)InnoDB 如何重建表
InnoDB 如何重建表1.参数 innodb_file_per_table这个个参数设置为 OFF 表示的是,表的数据放在系统共享表空间,也就是跟数据字典放在一起这个参数设置为 ON 表示的是,每个 InnoDB 表数据存储在一个以 .ibd 为后缀的文件中从 MySQL 5.6.6 版本开始,它的默认值就是 ON 了delete 数据,表数据删掉一半,表文件大小不变如果我们执行delete,删除一行数据,这行记录就会被标为可复用如果我们用 delete 命令把整个表的数据删除呢?结果原创 2020-11-10 16:14:07 · 1497 阅读 · 0 评论 -
MySQL 学习(八)InnoDB 刷脏页的控制策略
InnoDB 刷脏页的控制策略1.InnoDB 刷脏页的控制策略innodb_io_capacity 它会告诉 InnoDB 你的磁盘能力.这个值建议你设置成磁盘的 IOPS。磁盘的 IOPS 可以通过 fio 这个工具来测试,下面的语句是我用来测试磁盘随机读写的命令:fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runt原创 2020-10-29 16:54:00 · 602 阅读 · 0 评论 -
mysql 学习(七)关于字符串字段加索引
关于字符串字段加索引比如给一个email 字段添加索引整个email字段添加索引 add index index1(email)利用前缀长度来添加索引 add index index2(email(6))由于 email(6) 这个索引结构中每个邮箱字段都只取前 6 个字节,所以占用的空间会更小,这就是使用前缀索引的优势,可能会增加额外的记录扫描次数。通过下面代码测试前缀索引的区分度:mysql> select count(distinct left(email,4))as L4原创 2020-10-12 14:40:22 · 207 阅读 · 0 评论 -
MySQL 记录 权限的创建
MySQL 权限的创建新建用户格式:create user “username”@“host” identified by “password”;username 用户名password 密码host=“localhost” 允许本地登录host=“ip” 允许ip地址host="%",允许所以ip登录create user 'user1'@'localhost' identified by '123456';create user 'user1'@'127.0.0.1' ident原创 2020-09-18 10:14:39 · 107 阅读 · 0 评论 -
Mysql 学习(六)MySQL的行锁
MySQL的行锁MySQL 的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁,比如 MyISAM 引擎就不支持行锁。不支持行锁意味着并发控制只能使用表锁,对于这种引擎的表,同一张表上任何时刻只能有一个更新在执行,这就会影响到业务并发度。InnoDB是支持行锁的,这也是 MyISAM 被 InnoDB 替代的重要原因之一行锁就是针对数据表中行记录的锁,比如事务 A 更新了一行,而这时候事务 B 也要更新同一行,则必须等事务 A 的操作完成后才能进行更新两阶段锁在 InnoDB 事原创 2020-09-03 16:48:39 · 201 阅读 · 0 评论 -
Mysql 学习(五)MySQL的全局锁和表锁
Mysql 学习(五)MySQL的全局锁和表锁原创 2020-08-26 14:46:06 · 230 阅读 · 0 评论 -
Mysql 学习(四)MySQL事务隔离性
MySQL事务隔离性事务1.事务就是要保证一组数据库操作,要么全部成功,要么全部失败。2. 在 MySQL 中,事务支持是在引擎层实现的。MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。3. MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一隔离性与隔离级别1.mysql的ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)2.当数据库上有原创 2020-08-18 22:28:13 · 114 阅读 · 0 评论 -
Mysql 学习(三)MySQL重新建立主键索引和非主键索引的方法
MySQL重新建立主键索引和非主键索引的方法重新建立主键索引方法这是错误的写法alter table T drop primary key;alter table T add primary key(id);mysql官方文档写了三种措施:整个数据库迁移,先dump出来再重建表(这个一般只适合离线的业务来做);用空的alter操作,比如ALTER TABLE t1 ENGINE = InnoDB;这样子就会原地重建表结构;用repaire table,不过这个是由存储引擎决定支不支持的(原创 2020-08-05 20:44:47 · 1514 阅读 · 2 评论 -
Mysql 学习(二)MySQL的redolog和binlog区别和联系
redolog和binlog区别和联系区别redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。redo log 是物理日志,记录的是“在某个数据页上做了什么修改”;binlog 是逻辑日志,记录的是这个语句的原始逻辑。redo log 是循环写的,空间固定会用完(4个文件,每个文件1G);binlog 是可以追加写入的。“追加写”是指 binlog文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。联系行器先找引擎原创 2020-07-29 22:40:36 · 1110 阅读 · 0 评论 -
Mysql 学习(一)MySQL的执行流程
MySQL执行流程原创 2020-07-28 18:01:00 · 235 阅读 · 0 评论