![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
蒙太纳奇
如狼一样的不息
展开
-
工具-Mysql绿色版安装、配置与卸载
https://blog.csdn.net/qq_39135287/article/details/82117234原创 2019-03-17 11:37:49 · 155 阅读 · 0 评论 -
case ... when ... then ... end 语法
示例1case sex when '1' then '男' when '2' then '女’ else '其他' end--case搜索函数case when sex = '1' then '男' when sex = '2' then '女' else '其他' end 示例2老师表teachers 每天的上课时间表teacher...原创 2019-06-17 08:51:43 · 2054 阅读 · 0 评论 -
用sql生成唯一的特殊序列号
原创 2019-06-17 08:51:38 · 1498 阅读 · 0 评论 -
sql重复数据处理
使用groupby having来获取重复数据删除重复数据原创 2019-06-17 08:51:32 · 103 阅读 · 0 评论 -
mysql子查询以及多列过滤功能
1.含义当一个查询时另一个查询的条件时,称为子查询CREATE TABLE user1 ( id int(4) not null auto_increment, name varchar(20) not null default '' comment '名称', primary key(id))engine=INNODB auto_increment=1 DEFAULT...原创 2019-06-17 08:51:27 · 902 阅读 · 0 评论 -
mysql的同一属性多值多虑问题
1.&&的关系2.四取二的关系原创 2019-06-17 08:51:22 · 1316 阅读 · 0 评论 -
mysql慢查询排查处理
1.mysql优化的目的 事务阻塞,慢查询2.mysql优化的方向 sql及索引优化。 数据库表结构,根据数据设计查询最优的表结构。系统配置优化,对打开文件数和安全的限制。硬件,选择最适合数据库的cpu,更快的IO,更大的内存,cpu不是越多越好, IO...原创 2019-06-28 13:56:13 · 4505 阅读 · 0 评论 -
mysql索引原理
mysql读取数据,遵从的是局部性原理,即mysql读取数据是以页(默认12kb)为单位读取的,可以一定程度上避免频繁的读取IO。如select * form t where id=2 ,需要先通过IO从磁盘以页为单位读取文件到内存中,对页中的数据进行分析,返回最终的数据。 局部性原理:当需要读取1kb的数据时会将其附近的数据一块读取,以减少磁盘的IO。 页中的...原创 2019-08-08 23:36:14 · 153 阅读 · 0 评论 -
mysql索引实例-explain-type类型分析
知识概括 a. all 全表扫描 b. index 按照索引顺序的全表扫描 c. range 有范围的索引扫描 ,between,and以及'>','<'外,in和or均是索引范围扫描 d. ref 使用了非主键或者非唯一索引的普通索引(即索引可以重复情况下的) e....原创 2019-08-09 15:48:05 · 854 阅读 · 0 评论 -
sql进行行列转换
1.行列转换1.分别求出孙悟空、猪八戒、沙僧的总打怪数select sum(kills) from user1 a join user_kills b on a.id=b.user_id where a.user_name='孙悟空' ;select sum(kills) from user1 a join user_kills b on a.id=b.user_id where...原创 2019-06-17 08:51:49 · 446 阅读 · 0 评论 -
mysql的join查询分类
1.语句分类2.join语句分类 join的查询速度快于子查询,主要是因为子查询过程中需要创建中间表 内连接:inner join on = join on 左外连接:left join on = LEFT OUTER JOIN on 右外连接:right join on = right OUTER JOIN on 全外连接...原创 2019-06-17 08:51:55 · 2990 阅读 · 0 评论 -
数据库锁分类以及死锁分析
数据库锁时间戳在数据库表中单独加一列时间戳,比如“TimeStamp”,每次读出来的时候,把该字段也读出来,当写回去的时候,把该字段加1,提交之前,跟数据库的该字段比较一次,如果比数据库的值大的话,就允许保存,否则不允许保存可以大大提高数据库处理的并发量,因为这种方法可以避免了长事务中的数据库加锁开销分类 乐观锁 特点:乐观锁认为一个用户读数据的时候,别人不会去写自己所读...原创 2019-06-14 14:29:27 · 317 阅读 · 0 评论 -
Mysql索引
简介索引是mysql提供用于高效的获取数据的数据结构索引是通过额外的空间来保存你需要快速查询的一些字段,将这些字段按照一定的顺序存储并与原始数据进行映射原理:和查字典一样,通过不断的缩小数据的范围,来减少磁盘的IO次数,进而提高数据的读取速度b树 mysql索引都是基于b+树来实现;非叶子节点只存储子节点数据的范围,数据只存在叶子节点中使用场景:where,order b...原创 2019-07-26 11:05:59 · 165 阅读 · 0 评论 -
mysql死锁
数据库机制死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象InnoDB会自动检测一个事务的死锁并回滚一个或多个事务来防止死锁。Innodb会选择代价比较小的事务回滚案例1:update mk_user set name ='1' where `name`='idis12';:2:update mk_user set name='12' where i...原创 2019-07-25 11:49:45 · 185 阅读 · 0 评论 -
mysql规范
命名规范库名,表名,列名必须用小写,采用下划线分隔;须见名知义,长度不要超过32字符库备份必须以bak为前缀,以日期为后缀;从库必须以-s为后缀;备库必须以-ss为后缀表设计规范个数:单实例表个数必须控制在2000个以内;单表分表个数必须控制在1024个以内外键:禁止使用外键,如果要保证完整性,应由应用程式实现主键:表必须有主键,推荐使用UNSIGNED整数为主键子表:...原创 2019-07-25 11:49:39 · 124 阅读 · 0 评论 -
Mysql存储引擎
简介存储引擎就是指表的类型以及表在计算机上的存储方式。是mysql独有的,其中oracle是没有的分类:InnoDB,MyISAM,MEMORYSHOW ENGINES查看数据库的存储引擎数据库默认引擎配置文件my.ini1.Savepoints: 是否支持save point的事务点操作.2.support: MySQL是否支持存储引擎,YES支持...原创 2019-07-26 11:05:54 · 182 阅读 · 0 评论 -
mysql常用查询语法-count优化
1.count()Count对于null的处理count(1)忽略所有列_计入null ,count(*) 包括所有列_计入null,count(列)计入当前列_不计入null,count(distinct 列)效率对比count(主键列) > count(1) > count(非主键列) > count(*)概述Count(*)而言,M...原创 2019-07-25 11:50:01 · 115 阅读 · 0 评论 -
数据库的四种连接方式
a表 id name b表 id job parent_id 1 张3 1 23 1 2 李四 2 34 2 3 王武 ...原创 2017-10-12 18:05:33 · 7826 阅读 · 0 评论 -
数据库union,or,in查询的区别
union查询时,在索引列查询速度快。or,in采用的是全表扫描机制,更适用于非索引列查找。union和union all的区别在于,前者在查找后,会对重复数据去重;后者则不会。测试:1.表中插入数据:BEGINdeclare i int default 0; set autocommit = 0; while i<10000000 do INSERT I...原创 2018-03-14 14:53:56 · 3805 阅读 · 0 评论 -
mysql索引实例-explain-extra分析
知识概括 a. Using filesort 非使用索引情况下 a. Using index 使用索引情况下 b. Using where b. Using temporary 使用临时表1.建表 create table indexTest( id int(3) not null auto_increment...原创 2019-08-09 18:23:18 · 363 阅读 · 0 评论