
SQL
文章平均质量分 65
一蓑烟雨任平生2024
这个作者很懒,什么都没留下…
展开
-
为什么mysql默认隔离级别设置为RR(可重复读)
一般的DBMS系统,默认都会使用读提交(Read-Comitted,RC)作为默认隔离级别,如Oracle、SQLServer等,而MySQL却使用可重复读(Read-Repeatable,RR)。要知道,越高的隔离级别,能解决的数据一致性问题越多,理论上性能损耗更大,可并发性越低。隔离级别依次为>:串行化 > RR > RC >读未提交在SQL标准中,前三种隔离级别分别解决了幻象读、不可重复读和脏读的问题。那么,为什么MySQL使用可重复读作为默认隔离级别呢?这个是有历史.转载 2021-06-27 21:13:12 · 1770 阅读 · 0 评论 -
一条查询SQL的执行流程
查询SQL的执行过程当希望Mysql能够高效的执行的时候,最好的办法就是清楚的了解Mysql是如何执行查询的,只有更加全面的了解SQL执行的每一个过程,才能更好的进行SQl的优化。当执行一条查询的SQl的时候大概发生了一下的步骤:客户端发送查询语句给服务器。 服务器首先检查缓存中是否存在该查询,若存在,返回缓存中存在的结果。若是不存在就进行下一步。 服务器进行SQl的解析、语法检测和预处理,再由优化器生成对应的执行计划。 Mysql的执行器根据优化器生成的执行计划执行,调用存储引擎的接口进原创 2021-06-27 19:37:26 · 2026 阅读 · 0 评论 -
mysql的COLLATE=utf8_unicode_ci是什么意思?
在mysql中执行show create table 指令,可以看到一张表的建表语句,example如下:CREATE TABLE `table1` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`field1` text COLLATE utf8_unicode_ci NOT NULL COMMENT '字段1',`field2` varchar(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT原创 2021-06-10 22:29:37 · 7941 阅读 · 1 评论 -
查找入职员工时间排名倒数第三的员工所有信息
题目: 查找入职员工时间排名倒数第三的员工所有信息 1 2 3 4 5 6 7 8 CREATE TABLE `employees` ( `emp_no`int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, .原创 2020-10-05 08:49:22 · 316 阅读 · 0 评论