上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 40 下一页
摘要: 一:背景 1. 讲故事 今天和大家聊一套面试中经常被问到的高频题,对,就是 临时表 和 表变量 这俩玩意,如果有朋友在面试中回答的不好,可以尝试看下这篇能不能帮你成功迈过。 二:到底有什么区别 1. 前置思考 不管是 临时表 还是 表变量 都带了 表 这个词,既然提到了 表 ,按推理自然会落到某一个 阅读全文
posted @ 2023-02-16 11:08 一线码农 阅读(888) 评论(3) 推荐(7) 编辑
摘要: 一:背景 1. 讲故事 这段时间经常有朋友微信上问我这个真实案例分析连载怎么不往下续了,关注我的朋友应该知道,我近二个月在研究 SQLSERVER,也写了十多篇文章,为什么要研究这东西呢? 是因为在 dump 中发现有不少的问题是 SQLSERVER 端产生的,比如:遗留事务,索引缺失 ,这让我产生 阅读全文
posted @ 2023-02-13 12:27 一线码农 阅读(4061) 评论(4) 推荐(10) 编辑
摘要: 一:背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮你成功度过吧。 二:区别详解 1. 思考 从宏观角度来说, delete 是 DML 语句, tru 阅读全文
posted @ 2023-02-09 12:17 一线码农 阅读(1033) 评论(1) 推荐(5) 编辑
摘要: 一:背景 1. 讲故事 在 SQLSERVER 的众多阻塞场景中,有不小的一部分是由于 PFS 页上的 闩锁 等待造成的,毕竟写页操作一定是要串行化的,在面对 闩锁(PAGELATCH_X) 等待问题上,一定要搞明白 PFS 页到底是什么? 这篇就来好好聊一聊。 二:PFS 详解 1. 什么是 PF 阅读全文
posted @ 2023-02-06 17:53 一线码农 阅读(1345) 评论(0) 推荐(8) 编辑
摘要: 一:背景 1. 讲故事 上一篇写完 SQLSERVER 的四个事务隔离级别到底怎么理解? 之后,有朋友留言问什么时候可以把 snapshot 隔离级别给补上,这篇就来安排,快照隔离级别看起来很魔法,不过在修车之前,得先看下怎么开车。 二:snapshot 隔离详解 1. snapshot 之前的困境 阅读全文
posted @ 2023-02-05 11:35 一线码农 阅读(465) 评论(1) 推荐(2) 编辑
摘要: 一:背景 1. 讲故事 在有关SQLSERVER的各种参考资料中,经常会看到如下四种事务隔离级别。 READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEATABLE READ 随之而来的是大量的文字解释,还会附带各种 脏读, 幻读, 不可重复读 常常会把 阅读全文
posted @ 2023-02-02 17:50 一线码农 阅读(1701) 评论(0) 推荐(8) 编辑
摘要: 一:背景 1. 讲故事 相信绝大部分用 SQLSERVER 作为底层存储的程序员都知道 nolock 关键词,即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock,但这玩意有什么注意事项呢?这就需要了解它的底层原理了。 二:nolock 的原理 1. sql 阻塞还原 为了方便讲述,先创建 阅读全文
posted @ 2023-01-31 11:47 一线码农 阅读(883) 评论(2) 推荐(10) 编辑
摘要: 一:背景 1. 讲故事 年前遇到了好几例托管堆被损坏的案例,有些运气好一些,从被破坏的托管堆内存现场能观测出大概是什么问题,但更多的情况下是无法做出准确判断的,原因就在于生成的dump是第二现场,借用之前文章的一张图,大家可以理解一下。 为了帮助更多受此问题困扰的朋友,这篇来整理一下如何 快狠准 的 阅读全文
posted @ 2023-01-29 10:51 一线码农 阅读(2079) 评论(6) 推荐(13) 编辑
摘要: 一:背景 1. 讲故事 大家都知道数据库应用程序 它天生需要围绕着数据文件打转,诸如包含数据的 .mdf,事务日志的 .ldf,很多时候深入了解这两类文件的合成原理,差不多对数据库就能理解一半了,关于 .mdf 的合成前面的文章已经有所介绍,这篇我们来聊一下 .ldf 的一些内部知识,比如 LSN。 阅读全文
posted @ 2023-01-28 09:43 一线码农 阅读(2018) 评论(2) 推荐(7) 编辑
摘要: 一:背景 1. 讲故事 在 SQLSERVER 中有非常多的索引,比如:聚集索引,非聚集索引,唯一索引,复合索引,Include索引,交叉索引,连接索引,奇葩索引等等,当索引多了之后很容易傻傻的分不清,比如:复合索引 和 Include索引,但又在真实场景中用的特别多,本篇我们就从底层数据页层面厘清 阅读全文
posted @ 2023-01-06 10:48 一线码农 阅读(1842) 评论(3) 推荐(14) 编辑
摘要: 一:背景 1. 讲故事 最近在看 SQL SERVER 2008 查询性能优化,书中说当一个表创建了聚集索引,那么表中的行会按照主键索引的顺序物理排列,这里有一个关键词叫:物理排列,如果不了解底层原理,真的会被忽悠过去,其实仔细想一想不可能实现严格的 物理排列 ,那对性能是非常大的损害,本篇我们就从 阅读全文
posted @ 2023-01-05 12:28 一线码农 阅读(697) 评论(1) 推荐(8) 编辑
摘要: 一:背景 1. 讲故事 前些天看到一个奇怪的 Function 函数,调用的是 C# 链接库中的一个 UserLogin 方法,参考代码如下: CREATE FUNCTION dbo.clr_UserLogin ( @name AS NVARCHAR(100), @password AS NVARC 阅读全文
posted @ 2023-01-03 10:53 一线码农 阅读(1664) 评论(8) 推荐(6) 编辑
摘要: 一:背景 1. 讲故事 上一篇写完了之后,马上就有朋友留言对记录行的 8060byte 限制的疑惑,因为他的表记录存储了大量的文章,存储文章的字段类型用的是 nvarchar(max),长度很显然是超过 8060byte 的,请问这个底层是怎么破掉 8060byte 的限制的? 说实话这是一个好问题 阅读全文
posted @ 2023-01-01 09:35 一线码农 阅读(637) 评论(0) 推荐(1) 编辑
摘要: 一:背景 1. 讲故事 相信有很多朋友在学习 SQLSERVER 的时候都听说过这句话,但大多都是记忆为主,最近在研究 SQLSERVER,所以我们从 底层存储 的角度来深入理解下。 二:理解数据页 1. 数据页的组织 在前面的文章中我也说过,一个 数据页 是 8k 大小,那这 8k 是如何组织的呢 阅读全文
posted @ 2022-12-31 20:38 一线码农 阅读(378) 评论(1) 推荐(2) 编辑
摘要: 一:背景 1.讲故事 最近给一位朋友做 SQL 慢语句 优化,花了些时间调优,遗憾的是 SQLSERVER 非源码公开,玩起来不是那么顺利,不过从这次经历中我觉得明年的一个重大任务就是好好研究一下它,争取在 SQLSERVER 性能优化上做一些成绩,哈哈! 个人觉得要想深入研究 SQLSERVER, 阅读全文
posted @ 2022-12-30 18:41 一线码农 阅读(2475) 评论(3) 推荐(5) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 40 下一页