![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 84
xuewen1696
这个作者很懒,什么都没留下…
展开
-
mysql的char,varchar,text类型的区别总结
定义 char(n),代表字符数最大是n,字符数超过n会被截断,超过n的部分丢弃。注意,n是字符,不是字节,数据占用字节数另算。 varchar(n),和char(n)一样,代表字符数最大是n,字符数超过n会被截断,超过n的部分丢弃。注意,n是字符,不是字节,数据占用字节数另算。 text(n),这个n写了也没什么用,实际用的时候多数都不写后面的n,直接用text。 存储空间...转载 2018-09-13 14:02:04 · 985 阅读 · 0 评论 -
MySQL高级 之 order by、group by 优化
order by示例示例数据: Case 1 Case 2 Case 3 Case 4 结论:order by子句,尽量使用Index方式排序,在索引列上遵循索引的最佳左前缀原则。 复合(联合)索引形如 key (‘A1’,’A2’,’A3’ ),排序的思路一般是,先按照A1来排序,A1相同,然后按照A2排序,以此类推,这样对于(A1),(A1,A2), (A1,A2,A...转载 2018-08-16 19:55:31 · 420 阅读 · 0 评论 -
MySQL高级 之 in和exists
in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环一次对内表进行一次查询。 如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;表A(小表),表B(大表)注意: A表与B表的id字段应建立索引select * from A where id in (sele...转载 2018-08-16 19:54:23 · 209 阅读 · 0 评论 -
MySQL--- rank函数的实现方法
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名。尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名效果。在这里我用一个简单例子来实现排名的查询:首先我们先创建一个我们需要进行高级排名查询的players表,CREATE TABLE `players` ( `pid` int(2)...转载 2018-08-02 13:19:38 · 2638 阅读 · 0 评论 -
MySQL高级 之 索引失效与优化详解
案例所用的表结构、索引、与数据如下:索引失效与优化1、全值匹配我最爱2、最佳左前缀法则(带头索引不能死,中间索引不能断)如果索引了多个列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始 并且 不跳过索引中的列。 正确的示例参考上图。错误的示例: 带头索引死: 中间索引断(带头索引生效,其他索引失效): 3、不要在索引上做任何操作(计算、函数、自动/手...转载 2018-07-31 19:55:19 · 161 阅读 · 0 评论 -
MySQL高级 之 索引面试题分析
索引优化简单案例单表需求:查询category_id为1 且 comments大于1 的情况下,views最多的id 1、无索引的情况下: 很显然,type是ALL,即最坏的情况,Extra还出现了Using filesort也是最坏的情况,必须优化2、优化一:where条件全部建索引 复合索引中的使用到的“comments > 1”是一个范围检索,带来的好处是将ty...转载 2018-07-31 19:53:58 · 429 阅读 · 0 评论 -
MySQL学习笔记--Explain使用分析
一、Explain使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你写的SQL查询语句的,相当于“化验单”,让你知道是SQL语句或者表结构影响了MySQL的性能瓶颈。 1. explain执行计划包含的信息其中最重要的字段为:id, type, key, ref, rows, Extra 2. 执行方法EXPLAIN + SQL...原创 2018-07-26 17:07:42 · 325 阅读 · 0 评论 -
MySQL学习笔记--索引
一、什么是索引索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质:索引是一种数据结构--可以理解为“排好序的快速查找数据结构”(两个功能:排序;查找)--B+树的特点--在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以依据这些数据结构实现高效的查找算法,这种数据结构就是索引。 二、 索引的优势...原创 2018-07-23 19:57:45 · 201 阅读 · 1 评论 -
MySQL学习笔记--MySQL逻辑架构,sql写与加载顺序以及七种JOIN模式图解
一、MySQL的逻辑架构MySQL的最大特点是其插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储,提取相分离。这种架构可以根据业务的需求和实际需求选择合适的存储引擎。正因为插件式引擎的特点它的架构可以在多种不同的场景中应用并发挥良好的性能。1. 连接层:为请求做连接处理,授权认证,安全等。处理流程:每个连接的查询都在一个进程中的线程完成。服务器负责缓存线程,所以服务层不需要为每个连接新...原创 2018-07-09 16:49:26 · 274 阅读 · 0 评论 -
浅谈数据库的并发控制
一、什么是并发控制? 在数据库中,并发控制是指在多个用户/进程/线程同时对数据库进行操作时,如何保证事务的一致性和隔离性的,同时最大程度地并发。当多个用户/进程/线程同时对数据库进行操作时,会出现3种冲突情形:读-读,不存在任何问题 读-写,有隔离性问题,可能遇到脏读(会读到未提交的数据) ,幻影读等。 写-写,可能丢失更新 要解决冲突,一种办法是是锁,即基于锁的并发控制,...转载 2018-09-23 19:58:56 · 14735 阅读 · 1 评论