MySQL
YinXinLion
这个作者很懒,什么都没留下…
展开
-
MYSQL之JOIN算法
JOIN学习 创建表 t1里有100行数据(id是主键,a有索引) t2里有1000行数据,同样是这三列。 Index Nested-Loop Join(基于索引的嵌套循环联接) 通过explain分析,可以看到t1表扫描了100行,而t2表使用了索引a。 执行伪算法如下: For each row r in R do -- 扫描R表 驱动表 ...原创 2019-12-29 22:55:49 · 244 阅读 · 0 评论 -
数据库查看死锁
命令 show engine innodb status 解释: ------------------------ LATEST DETECTED DEADLOCK ------------------------ 191219 1:53:42 *** (1) TRANSACTION: TRANSACTION 87658C46, ACTIVE 0 sec, process no 18445, ...原创 2019-12-24 20:33:36 · 918 阅读 · 0 评论 -
Druid数据库连接池
Druid是什么? Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。 怎么配置maven Springboot: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-sta...原创 2019-07-24 21:52:20 · 277 阅读 · 0 评论 -
MySQL分组查询每组前几条
最近在做视频合辑的需求,需要将合辑中的视频取出来,每个视频关联的SKU在关联关系表中,需要查询多个视频下的SKU(10个)。那么也就是查询每个视频下的10个SKU。 SELECT video_id, sku_id, status, vender_id FROM video_sku_relative vsro WHERE vender_id = 100 AND vide...原创 2018-09-08 09:52:45 · 1609 阅读 · 0 评论 -
MySQL之聚合与排序
对表进行聚合查询聚合函数 函数 作用 COUNT 计算表中的记录(行数) SUM 计算表中数值列的数据合计值 AVG 计算表中数值列的数据平均值 MAX 求出表中任意列中数据的最大值 MIN 求出表中任意列中数据的最小值 计算表中全部数据行数时,可使用COUNT函数。-- 用法 SELECT COUNT(*) FROM table_name;计算原创 2017-05-02 17:20:17 · 3149 阅读 · 5 评论 -
MySQL之锁
什么是锁锁时数据库系统区别于文件系统的一个关键特性。锁机制用于管理对共享资源的并发访问。innodb使用锁的地方很多。例如,操作缓冲池中的LRU列表,删除、添加、移动LRU列表中的元素,为了保证一致性,必须有锁的介入。数据库系统使用锁为了支持对共享资源进行并发访问,提供数据的完整性和一致性。对于myisam引擎,锁是表锁设计,并且不支持事务。Lock和Latchlatch是一种轻量级锁,innodb原创 2017-08-11 23:42:23 · 340 阅读 · 0 评论 -
MySQL事务及事务的实现
概念事务是数据库区别于文件系统的重要特性之一。引入数据库的目的:实物会把数据库从一种一直状态转换为另一种一致状态。事务可以由非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。ACID特性原子性 原子性是指数据库事务时不可分割的工作单位。只有使实物中所有的数据库操作都执行成功,才算整个事务成功。事务中任何一个SQL语句执行失败,已经执行成功的SQL语句也必须撤销,退回到事务前的状态。一致性原创 2017-08-11 10:51:12 · 4937 阅读 · 1 评论 -
MYSQL-explain
EXPLAIN Output columns目测面试必问吧。 列名 说明 id 执行编号,标识select所属的行。如果在语句中没子查询或关联查询,只有唯一的select,每行都将显示1.否则,内存select语句一般会顺序编号,对应于其在原始语句的位置 select_type 显示本行是简单或复杂select。如果查询有仍和复杂的子查询,则最外层标记为PRIMARY(DERI原创 2017-08-09 17:04:02 · 330 阅读 · 0 评论 -
MySQL之复杂查询
视图和表的区别表示保存在计算机的存储设备(通常是硬盘)中。 而视图并不会将数据保存在存储设备之中,而且也不会将数据保存到其他任何地方。视图保存的是SELECT语句。视图的优点?第一,视图无需保存数据,可以节省存储设备的容量。 第二,可以将频繁使用的SELECT语句保存成视图,这样不用每次书写。 应该将经常使用的SELECT语句做成视图。如何创建视图?CREATE VIEW 视图名称(<视图列名原创 2017-05-07 16:42:06 · 413 阅读 · 0 评论 -
MySQL之查询基础
SELECT语句基础列的查询从表中选取数据时,需要使用SELECT语句。通过SELECT语句查询并选取出必要数据的过程称为匹配查询或查询。基本的SELECT 语句SELECT <列名>,... FROM <表名> WHERE <条件表达式>;#SELECT子句列举了希望从表中查询出的列的名称,FROM子句指定选取出数据的表的名称。执行流程: 先通过WHERE子句查询出符合指定条件的记录,然后原创 2017-04-30 16:25:55 · 476 阅读 · 0 评论 -
MySQL索引优化
1.索引在存储引擎层实现 b+树只有叶子节点存储数据,每个叶子节点都包含一个紧挨着叶子节点的指针,这样方便叶子遍历, b+树是平衡查找树,叶子节点顺序存放 MyIsam存储引擎使用数据物理位置来引用行,innodb通过主键来引用行什么情况使用B树索引? 1.全值匹配的查询 order_sn= ‘1234567’ 2.匹配最左前缀的查询 3.匹配列前缀 (某一列开头部分 order_s原创 2017-03-14 19:14:11 · 199 阅读 · 0 评论 -
MySQL的多种存储引擎
MyISAM5.5之前的默认存储引擎 系统表,临时表(在排序分组等操作中,数量超过一定大小,由查询优化器建立的临时表)MyISAM存储引擎由MYD数据信息和MYI索引信息组成 它的锁级别是表级锁,对表进行数据读取时使用共享锁进行(共享锁与共享锁之间不会发生阻塞,因为只进行读并未修改) 当表损坏时可以进行修复,并不支持事务!!!create table myIsam(id int, c1 var原创 2017-03-02 18:54:12 · 266 阅读 · 0 评论