![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库SQL
攻城晓狮子
这个作者很懒,什么都没留下…
展开
-
数据库中的存储过程与函数的区别和联系
存储过程与函数的区别与联系转载 2020-10-25 22:21:04 · 1738 阅读 · 0 评论 -
数据库的优化问题
1. 如何定位并优化慢查询sql?(1)根据慢日志(将show_query_log打开ON,超过long_query_time的sql将被记录在慢日志show_query_log_file中)定位捕获慢查询sql;set global show_query_log = on;set global long_query_time = 1;(2)使用explain等工具分析该条sql(一般将explain放在select的前面,用来描述MySQL如何执行查询操作,成功返回结果及需要执行的行数,帮助我们分原创 2020-05-31 12:33:36 · 258 阅读 · 0 评论 -
数据库之聚簇索引和非聚簇索引的区别
聚簇索引(密集索引)文件中的每个搜索码值都对应一个索引值(叶子节点不仅保存了键值,还保存了位于同一行记录中的其他列的信息),因为聚簇索引决定了表的物理排列顺序,而一个表只能有一种物理排列顺序,所以一个表只能创建一个聚簇索引。非聚簇索引(稀疏索引)文件只为索引码的某些值建立索引项(叶子节点仅保存了键值以及该行数据的地址)。数据库必须要有索引,没有索引则检索过程变成了顺序查找(全表扫描),O(n)的时间复杂度几乎是不能忍受的。我们非常容易想象出一个只有单关键字组成的表如何使用B+树进行索引,只要将这个关键字原创 2020-05-30 21:31:43 · 1172 阅读 · 0 评论 -
数据库之索引的数据结构
索引的数据结构主要有以下几种:(1)生成索引,建立二叉查找树/二叉排序树/二叉搜索树进行二分查找;(2)平衡二叉树,红黑树;(3)生成索引,建立B-Tree(B树/B-树)结构进行查找;(4)生成索引,建立B±Tree(B+树)结构进行查找;(5)生成索引,建立Hash结构进行查找;(6)生成索引,建立位图结构进行查找。1、 二叉查找树二叉查找树的特点:(1)二叉查找树的每一个节点的值都大于其左子树上所有节点的值,且小于其右子树上所有节点的值;(2)二叉查找树的每一个节点的左、右子树也原创 2020-05-26 19:37:02 · 3739 阅读 · 0 评论 -
MySQL的存储引擎:InnoDB和MyISAM的区别
1.InnoDB和MyISAM的区别(1)InnoDB支持事务,而MyISAM不支持事务。InnoDB会将每一条SQL语句都默认封装成一个事务,自动提交,这样会影响速度,因此建议将多条SQL语句放在begin和commit之间组成一个事务。(2)InnoDB支持外键,而MyISAM不支持外键。将一个包含外键的InnoDB表转换成MyISAM会失败。(3)InnoDB是聚簇索引,使用B+树作为...原创 2020-04-07 11:18:20 · 546 阅读 · 0 评论 -
SQL经典题目
常见SQL面试题补充:SQL的top N问题SQL行列转换问题转载 2020-03-16 18:47:56 · 116 阅读 · 0 评论 -
SQL中的内联结和外联结
内联结:当需要查询2张表中同时存在的数据(返回在两张表中所有正确关联的行);左外联结或右外联结:需要查询2张表中在一张表存在,而在另一张表不存在的数据。内联结的查询结果都是满足连接条件的元组。但有时我们也希望输出那些不满足联结条件的元组信息。比如,我们想知道每个学生的选课情况,包括已经选课的学生(这部分学生的学号在学生表中有,在选课表中也有,是满足联结条件的),也包括没有选课的学生(这部分学生...原创 2020-03-16 17:41:59 · 1795 阅读 · 0 评论 -
数据库的脏读,幻读,不可重复读
数据库的脏读,幻读,不可重复读转载 2020-03-15 11:31:29 · 179 阅读 · 0 评论