![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mySql
qq_43059674
划水摸鱼
展开
-
联表更新
例: 这里我们需要将aaa表中code为空的去bbb表中找到对应的数据做修改update aaa a, bbb b set a.code = b.codewhere a.code is null and a.join_id = b.join_id;删除可以参考: http://www.360doc.com/content/13/0914/10/10639625_314356876.shtml...原创 2020-09-19 10:12:12 · 105 阅读 · 0 评论 -
Mysql内连接和外连接的区别
SQL数据库的连接:内连接、和外连接(左外连接、右外连接、和全连接)本次实验在MySQL数据库中进行,数据库初始表如下orderorder_item一、内连接:结果仅包含符合连接条件的两表中的行。如下二、外连接:结果包含符合条件的行,同时包含不符合条件的行(分为左外连接、右外连接和全外连接)1、左外连接:左表全部行+右表匹配的行,如果左表中某行在右表中没有匹配的行,则显示NULL...原创 2020-01-09 21:28:49 · 2485 阅读 · 0 评论 -
面试官:你是如何优化MySQL
概述为什么要优化:应用的吞吐量一般出现在数据库处理速度上随着应用的使用数据量不断增多,数据库处理压力主键增大关系型数据库的数据存储在磁盘上,读写数据较慢(与内存数据库比较)优化手段:第一步是表字段的设计,考虑更优的存储计算利用好MySQL自身提供的功能,如 存储引擎的选择、索引等横向扩展:MySQL读写分离SQL语句的优化(收效甚微)字段设计字段类型的选择,设计规范,范...原创 2020-01-09 18:41:39 · 872 阅读 · 0 评论 -
Mysql高性能优化规范建议
数据库命令规范1、所有数据库对象名称必须使用小写字母并用下划线分割2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符4、临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀5、所有存储相同数据的列名和列类型必须一致(一般作为关联列...转载 2020-01-05 15:05:40 · 258 阅读 · 0 评论 -
MySQL字符集及校对规则的理解
字符集(Character set)定义: 是多个字符(英文字符,汉字字符,或者其他国家语言字符)的集合,字符集种类较多,每个字符集包含的字符个数不同。特点:ASCII字符集:基于罗马字母表的一套字符集,它采用1个字节的低7位表示字符,高位始终为0。LATIN1字符集:相对于ASCII字符集做了扩展,仍然使用一个字节表示字符,但启用了高位,扩展了字符集的表示范围。GBK字符集:支持中文,...原创 2020-01-04 21:29:41 · 270 阅读 · 0 评论 -
mysql慢查日志
简介MySQL 慢查询日志是排查问题 SQL 语句,以及检查当前 MySQL 性能的一个重要功能。我们可以根据日志中的信息来判断我们的sql语句执行情况。如果要学会然后优化sql优化这个一定要会呀开启慢查日志mysql5.7版本默认开启了慢查日志,但是其日志文件名可能不是我们想要的,我们查询如下:mysql> show variables like '%quer%';+---...原创 2019-11-21 23:49:10 · 104 阅读 · 0 评论 -
乐观锁和悲观锁
为什么需要锁(并发控制)在典型的应用程序中,多个事务并发运行,经常会操作相同的数据来完成各自的任务(多个用户对同一数据进行操作)。并发虽然是必须的,但可能会导致以下的问题。丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用...转载 2019-11-20 10:32:55 · 319 阅读 · 0 评论 -
mysql存储引擎
存储引擎简介MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。每一种存储引擎都提供了不同的机制、索引技巧、锁定水平。最终提供了广泛且不同的功能在关系型数据库中数据的存储是以表的形式存在的,所以存储引擎也可以称之为表类型这里可以循环 show create table 表名查看到sql脚本在脚本中可以看到我们mysql 5.1 默认使用到的存储引擎是 InnoDB...原创 2019-11-16 21:19:51 · 176 阅读 · 0 评论 -
mySql索引详解
MySQL索引使用的数据结构BTree索引MySQL的BTree索引使用的是B树中的B+Tree,但对于主要的两种存储引擎(MyISAM和InnoDB)的实现方式是不同的哈希索引哈希索引来说,底层的数据结构就是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希索引,查询性能最快。其余大部分场景,建议选择BTree索引。BTree索引在(MyISAM和InnoDB)的不同实现方式...原创 2020-01-09 17:26:38 · 291 阅读 · 0 评论 -
MyISAM和InnoDB对比
MyISAM和InnoDB对比区别对比总结区别5.5之前MyISAM是MySQL的默认数据库引擎,性能极佳,而且提供了大量的特性,包括全文索引、压缩、空间函数等,但MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复5.5版本之后,MySQL引入了InnoDB(事务性数据库引擎),MySQL 5.5版本后默认的存储引擎为InnoDB。对比是否支持行级锁MyISAM 只...转载 2019-07-10 07:30:57 · 142 阅读 · 0 评论