随笔分类 -  (新) SQL Server

摘要:前言 我几乎从来没有遇到过性能问题, 毕竟项目真的太小了. 一般上只要用常识去建 index 就可以了. 但是这并不阻碍我对知识的追求. 这篇是关于一些性能优化和原理的内容. 纯属学习, 希望未来有机会用到. 参考 SQL Server – 树结构 (二叉树, 红黑树, B-树, B+树) (必看) 阅读全文
posted @ 2023-03-31 12:37 兴杰 阅读(285) 评论(0) 推荐(0) 编辑
摘要:前言 上回在谈到 Concurrency 并发控制 时, 有提到过事务的概念. 这篇就补上它具体的实现. 以前写过相关的文章: sql server 学习笔记 (nested transaction 嵌套事务) Asp.net core 学习笔记 ( ef core transaction scop 阅读全文
posted @ 2023-02-09 12:57 兴杰 阅读(465) 评论(0) 推荐(0) 编辑
摘要:前言 日常都是用 EF Core 来管理 Database, 偶尔也用 Management Studio, 就是很少手写 Command. 虽然网上一拉就有很多, 但是每次写单侧都要到处找还是挺烦的. 所以决定写一篇来记入起来. 创建 Table GO CREATE TABLE [Product] 阅读全文
posted @ 2022-11-13 19:45 兴杰 阅读(288) 评论(0) 推荐(0) 编辑
摘要:前言 很久以前有学习过各种树结构, 但后来真的没有在实际项目中运用到. 毕竟我主要负责的都是写业务代码. 太上层了 但是忘光光还是很可惜的. 所以久久可以复习一下. 记得概念也好, 帮助思考. 参考: YouTube – How to Create Database Indexes: Databas 阅读全文
posted @ 2022-01-07 19:08 兴杰 阅读(622) 评论(0) 推荐(0) 编辑
摘要:前言 续上一篇的 Soft Delete 后, 我们继续来看看 History Table (Audit/Archive Table). Archive Table 市场上有了这样叫, 但我觉得它比较杂, 因为它既保存了 History, 也多少记入 operation 和时间, 所以带有一点 Au 阅读全文
posted @ 2021-11-23 22:26 兴杰 阅读(219) 评论(0) 推荐(0) 编辑
摘要:前言 Soft Delete 中文叫 "逻辑删", "软删除". 对比的自然就是 Hard Delete. 这篇想聊一聊它的好与坏, 什么时候可以考虑用它. Hard Delete 在说 soft delete 之前, 我们先来看看 hard delete. Hard Delete 其实就是普通的 阅读全文
posted @ 2021-11-23 11:46 兴杰 阅读(408) 评论(0) 推荐(0) 编辑
摘要:前言 旧没用又忘记了, 又没有 intellisense, 记入这里吧. Reset Auto Increment DBCC CHECKIDENT ('TableName'); -- check current DBCC CHECKIDENT ('TableName', RESEED, 0); -- 阅读全文
posted @ 2021-11-15 16:56 兴杰 阅读(42) 评论(0) 推荐(0) 编辑
摘要:前言 以前写过相关的, 但这篇主要讲一下概念. 帮助理解 Entity Framework with MySQL 学习笔记一(乐观并发) Asp.net core 学习笔记 ( ef core transaction scope & change level ) sql server 学习笔记 (n 阅读全文
posted @ 2021-11-15 12:53 兴杰 阅读(168) 评论(0) 推荐(0) 编辑
摘要:前言 JSON 是一个很好的格式, array, object 就能表达一个表格了. 如果想保存一些结构格式, 又不想用表格这么大费周章的话, JSON 会是很好选择. 比如我用它来记入 Audit Trial, 每一个请求的 post data 直接记入到一个 column 里面. SQL Ser 阅读全文
posted @ 2021-10-20 12:51 兴杰 阅读(362) 评论(0) 推荐(0) 编辑
摘要:前言 久仰 dbo 大名, 但是一直没有认真去看它有啥作用. 今天翻看了一下 SQL Server sample database: AdventureWorks2019, 发现它用了许多 Schema 感觉像当 namespace 用, 于是好奇心下去查了一下 Schema. 主要参考 Sql S 阅读全文
posted @ 2021-10-19 18:09 兴杰 阅读(659) 评论(0) 推荐(0) 编辑
摘要:前言 之前写过一篇, 但那个时候还没有开始用, 现在是要用了, 所以翻新一下呗. SQL server temporal table 学习笔记 主要参考: 官网 Temporal tables [译]SQL SERVER 2016 – Temporal Tables SQL Server ->> 深 阅读全文
posted @ 2021-10-19 15:44 兴杰 阅读(690) 评论(0) 推荐(0) 编辑
摘要:前言 没有系统化学一本语言或技术, 那便会被一些冷知识坑. 这里做些记入. 变量作用域 SQL 是远古语法, 声明变量在最顶部就是一条上古法则. 如果我看见有了用这个法则写 C# 或 JS 我就会杀了它. 但是在 SQL 这条法则还真的不是没有用的呢. DECLARE @value INT 变量的作 阅读全文
posted @ 2021-10-16 23:10 兴杰 阅读(68) 评论(0) 推荐(0) 编辑
摘要:参考: How To Use STRING_AGG – Concat Multiple Row Values In SQL Server 如果你想做 string.join(',', collection) 的话, 那么就可以使用 STRING_AGG 了 1. 简单用 SELECT STRING_ 阅读全文
posted @ 2021-09-15 12:02 兴杰 阅读(1329) 评论(0) 推荐(0) 编辑
摘要:参考: Sql — CTE公用表表达式和With用法总结 YouTube – SQL WITH Clause | How to write SQL Queries using WITH Clause | SQL CTE (Common Table Expression) 特色 1. CTE 可以引用 阅读全文
posted @ 2021-09-15 11:21 兴杰 阅读(73) 评论(0) 推荐(0) 编辑
摘要:参考: 在数据库中临时表什么时候会被清除呢 Temporary Tables And Table Variables In SQL 基本常识 1. 局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除 2. 全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删 阅读全文
posted @ 2021-09-15 11:09 兴杰 阅读(188) 评论(0) 推荐(0) 编辑
摘要:SUM 如果 row count = 0 返回的是 NULL 而不是 0 哦, 如果要 0 可以使用 ISNULL 来处理 如果其中一些 row 是 NULL, 那无所谓, 它只会 SUM 数字出来 如果全部 row 都是 NULL, 返回 NULL 其余的之后用到才写 阅读全文
posted @ 2021-07-28 23:24 兴杰 阅读(98) 评论(0) 推荐(0) 编辑
摘要:介绍 冗余是维护的魔鬼, 是性能优化的天使 常见的冗余有 1. computed column 2. principal 的识别字段 3. cross computed 4. cascade soft delete 维护冗余的方案有很多. 比如 computed column, trigger, v 阅读全文
posted @ 2021-07-28 20:30 兴杰 阅读(304) 评论(0) 推荐(0) 编辑
摘要:参考: SQLServer触发器详解(概述、工作原理、应用) CREATE TRIGGER (Transact-SQL) SQL Server Triggers and Transactions 以前写过的笔记 介绍 触发器适合用在维护冗余. 它可以监听指定 table 的 insert, upda 阅读全文
posted @ 2021-07-28 20:14 兴杰 阅读(340) 评论(0) 推荐(0) 编辑
摘要:参考 SQL Server三种常见备份 SQL Server备份策略 以前写的笔记 目的 在发生意外 (人为删除, 磁盘坏掉) 之后, 让数据可还原到指定时间点上. Backup 的种类 备份分 3 种 Level Full Backup (所有数据 copy) Differential Backu 阅读全文
posted @ 2021-07-22 14:48 兴杰 阅读(437) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示