随笔分类 -  mysql

mysql数据库一些操作,及个人心得
摘要:表格样式 字段详解 id列 id列的编号是 select 的序列号,有几个 select 就有几个id,并且id的顺序是按 select 出现的顺序增长的。 id列越大执行优先级越高,id相同则从上往下执行,id为NULL最后执行。 select_type列 simple:简单查询。查询不包含子查询 阅读全文
posted @ 2023-07-11 17:37 Aaron-cell 阅读(39) 评论(0) 推荐(0)
摘要:(1)数据准备 建表插入部分数据 CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) N 阅读全文
posted @ 2023-07-08 18:12 Aaron-cell 阅读(46) 评论(0) 推荐(0)
摘要:Mysql内连接、左连接、右连接区别 数据准备 内连接 select * From user_info,dept_info where user_info.dept_id = dept_info.id 或 select * From user_info INNER JOIN dept_info on 阅读全文
posted @ 2023-07-06 17:38 Aaron-cell 阅读(118) 评论(0) 推荐(0)
摘要:mysql索引数据结构 B+Tree数据结构 索引是帮助mysql更好获取数据的一种排好序的数据结构 传统B-Tree数据结构 叶节点具有相同的深度,叶节点的指针为空 所有索引元素不重复 节点中的数据索引从左到右递增排列 mysql优化后的B+Tree数据(B-Tree变种) 非叶子节点不存储dat 阅读全文
posted @ 2023-07-06 00:30 Aaron-cell 阅读(97) 评论(0) 推荐(0)
摘要:1.MySQL存储引擎对比 这里主要讲MyISAM和InnoDB对比: MyISAM和InnoDB详细区别(聚集索引和非聚集索引): 推荐一篇文章 2.MyISAM表锁和InnoDB表锁、行锁 1.MyISAM表锁 MyISAM只支持表锁,在进行select时会自动加读锁,进行增删改时自动添加写锁。 阅读全文
posted @ 2020-06-06 10:49 Aaron-cell 阅读(184) 评论(0) 推荐(0)
摘要:1.mysql的四个特性:原子性、一致性、隔离性、持久性。 1.原子性:一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部操作成功,要么全部失败回滚,这就是事务的原子性。 2.一致性:数据库总数从一个一致性的状态转换到另一个一致性状态。 3.隔离性:一个事物所做的修改在最终提交 阅读全文
posted @ 2020-05-23 18:21 Aaron-cell 阅读(200) 评论(0) 推荐(0)
摘要:避免索引失效的原则 1.复合索引 a.复合索引,不要跨列使用或无序使用(遵循最佳左前缀) b.复合索引尽量使用全索引匹配 2.不要在索引上进行任何操作(计算、函数、类型转换),否则索引失效 select ..where A.x = .. ; --假设A.x是索引 不要:select ..where 阅读全文
posted @ 2020-05-22 20:57 Aaron-cell 阅读(328) 评论(0) 推荐(0)
摘要:属性 含义 id 编号 select_type 查询类型 table 表 type 类型 possible_keys 预测用到的索引 key 实际使用的索引 key_len 实际使用索引的长度 ref 表之间的引用 rows 通过索引查询到的数据量 Extra 额外的信息 本节将对上述查询计划中各个 阅读全文
posted @ 2020-05-22 17:25 Aaron-cell 阅读(267) 评论(0) 推荐(0)
摘要:1 SQL性能研究 sql性能研究主要是分析SQL的执行计划,需要注意的是MySQL优化器可能会干扰我们的优化。 1.1 分析SQL的执行计划 分析sql的执行计划,explain可以模拟sql优化器执行sql语句,从而让开发人员知道自己编写的语句执行方式,更好的优化sql编码。 优化方法.官网:h 阅读全文
posted @ 2020-05-08 10:56 Aaron-cell 阅读(162) 评论(0) 推荐(0)
摘要:SQL优化 1.原因 需要SQL优化的原因有: 一、SQL语句性能低下 二、执行时间过长 三、等待时间过长 四、SQL语句欠佳(多数出现在连接查询时) 五、索引失效 六、服务器参数设置不合理(例如:缓冲区、线程数) SQL: 编写过程: select...dinstinct ...from...jo 阅读全文
posted @ 2020-04-05 09:52 Aaron-cell 阅读(153) 评论(0) 推荐(0)
摘要:mysql逻辑分层简图 1.原理: MySQL逻辑分层:连接层 服务层 引擎层 存储层 InnoDB:事务优先(适合高并发操作;行锁(每一行上锁)) MyISAM:性能优越 (表锁(一个表上一次锁)) 2.如何查询数据库引擎?支持哪些引擎?如何查看当前默认引擎? mysql命令:show engin 阅读全文
posted @ 2020-04-04 21:01 Aaron-cell 阅读(210) 评论(0) 推荐(0)