19丨基础篇总结:如何理解查询优化、通配符以及存储过程?
该思维导图由 AI 生成,仅供参考
关于各种 DBMS 的介绍
答疑 1
解答
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了SQL专栏基础篇的内容,包括对各种DBMS的介绍、查询优化、存储过程、事务处理等常见问题的答疑。文章详细解释了行式存储和列式存储的特点,以及它们在OLTP和OLAP中的应用场景。此外,还介绍了在MySQL中统计数据表行数的三种方式的效率比较,以及对LIMIT关键词和ORDER BY字段的索引使用进行了解释。在存储过程部分,文章解释了不同DBMS对数据类型的定义以及IN参数的使用。在事务处理方面,文章解释了连续BEGIN的情况以及COMMIT和ROLLBACK的使用。总的来说,本文通过答疑的形式,深入浅出地解释了SQL基础知识和优化技巧,为读者提供了全面的SQL基础知识概览。
《SQL 必知必会》,新⼈⾸单¥68
全部留言(37)
- 最新
- 精选
- TKbook结果是: +------+ | name | +------+ | 关羽 | | 张飞 | +------+ 因为插入关羽这个是第一个事务,虽然没有commit,但是第二个begin数据库会隐式地 COMMIT 第一个事务,第二事务,插入张飞两次,第一次插入成功,第二次插入失败。强制commit,第一次插入的张飞会进行提交。所以结果是关羽和张飞。
作者回复: 对的 这个解释也正确
2019-07-24531 - 许童童老师你好,能否说一下varchar和nvarchar有什么区别,分别用在什么场景?
作者回复: 相同点:可变长度,字符类型数据 不同点:varchar(n)是n个字节,非Unicode字符。(英文字母占1个字节,中文占2个字节) 而nvarchar(n)是n个字符,Unicode字符。(英文字母或者中文都是占用2个字节) 举个例子,varchar(10)代表10个字节,所以可以是10个英文字母,也可以是5个汉字。 而nvarchar(10)代表10个字符,这10个字符可以是10个字母,也可以是10个汉字(英文字母或者中文 都是占用2个字节)
2019-07-24525 - 挠头侠老师 你上述这个例子,第二个begin中,这里不加 commit 得到的结果仍然是 关羽和张飞啊。第二个事务如果要回滚的话不应该没有 “张飞“ 这个名字吗?commit是默认的吗?这点老师还是补充一下吧。
作者回复: COMMIT这里会进行强制提交,也就是程序员来控制当存在错误的时候,是否进行强制提交。所以第一个张飞会提交成功,数据表的结果是:关羽、张飞。你也可以看下看下第一个留言的同学的解答
2019-09-2927 - 另至根据第十四篇-事务,原子性:要不全部成功,要不全部失败。
作者回复: 原子是这个特点,不过在代码操作的时候,如果在一个事务中遇到的错误,还是可以强制进行COMMIT的,这时会把这个事务中成功执行的部分进行提交。你可以运行下 文章中给到的代码
2019-07-257 - 另至答案是:“关羽” 根据第十四篇-事务中原子性的描述:要不全部成功要不全部失败。 第一个事务成功插入“关羽” 第二个事务,第一条插入“张飞”成功,第二条插入“张飞”失败。 所以第二个事务整体回滚,一条“张飞”都没插入。 所以结果只有“关羽”
作者回复: 对事务ACID的理解是这样的,不过在程序中是需要自己来控制的,如果遇到了错误,还继续执行COMMIT的话,也会让事务中正确的部分进行提交。所以你可以跑一遍代码,运行结果应该是 关羽,张飞。
2019-07-255 - ack思考题: 自己想出来是只有关羽一条,因为name是主键,插入两条导致第二个事务回滚。但实际运行后结果是关羽、张飞。不知道是为什么,望老师解答。(mysql的autocommit=1,隔离级别是可重复读)
作者回复: 如果出现异常,这时强制提交的话, 会将操作成功的进行提交
2019-07-2434 - Cue很详细的答疑,赞
作者回复: 感谢
2019-07-244 - Geek_7777OLAP可以详细讲一下么?
作者回复: OLAP更偏数据分析,业务端,比如 Apache Kylin
2019-08-073 - 庞鑫华老师,请问join查询,on后面的条件、连接条件,where后面的条件,数据过滤顺序是怎样的呢?
作者回复: SELECT DISTINCT player_id, player_name, count(*) as num #顺序5 FROM player JOIN team ON player.team_id = team.team_id #顺序1 WHERE height > 1.80 #顺序2 GROUP BY player.team_id #顺序3 HAVING num > 2 #顺序4 ORDER BY num DESC #顺序6 LIMIT 2 #顺序7
2019-07-253 - mickey答案是 name 关羽 张飞
作者回复: 正确
2019-07-243