语句sqlserver时间sql

Asp.Net Core中利用过滤器控制Nginx的缓存时间

前言 Web项目中很多网页资源比如html、js、css通常会做服务器端的缓存,加快网页的加载速度 一些周期性变化的API数据也可以做缓存,例如广告资源位数据,菜单数据,商品类目数据,商品详情数据,商品列表数据,公共配置数据等,这样就可以省去很多在服务端手动实现缓存的操作 最早资源缓存大部分都用Ex ......
过滤器 缓存 时间 Nginx Core

MySQL 中一条 sql 的执行过程

一条 SQL 的执行过程 前言 查询 查询缓存 分析器 优化器 执行器 数据更新 日志模块 redo log (重做日志) binlog (归档日志) undo log (回滚日志) 两阶段提交 为什么需要两阶段提交 逻辑日志和物理日志 参考 一条 SQL 的执行过程 前言 在开始学习 MySQL ......
过程 MySQL sql

SQLSERVER 阻塞之 PFS 页到底是什么?

一:背景 1. 讲故事 在 SQLSERVER 的众多阻塞场景中,有不小的一部分是由于 PFS 页上的 闩锁 等待造成的,毕竟写页操作一定是要串行化的,在面对 闩锁(PAGELATCH_X) 等待问题上,一定要搞明白 PFS 页到底是什么? 这篇就来好好聊一聊。 二:PFS 详解 1. 什么是 PF ......
SQLSERVER PFS

SQLSERVER 的 truncate 和 delete 有区别吗?

一:背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮你成功度过吧。 二:区别详解 1. 思考 从宏观角度来说, delete 是 DML 语句, tru ......
SQLSERVER truncate delete

SQLSERVER 快照隔离级别 到底怎么理解?

一:背景 1. 讲故事 上一篇写完 SQLSERVER 的四个事务隔离级别到底怎么理解? 之后,有朋友留言问什么时候可以把 snapshot 隔离级别给补上,这篇就来安排,快照隔离级别看起来很魔法,不过在修车之前,得先看下怎么开车。 二:snapshot 隔离详解 1. snapshot 之前的困境 ......
快照 SQLSERVER 级别

SQLSERVER 的 nolock 到底是怎样的无锁?

一:背景 1. 讲故事 相信绝大部分用 SQLSERVER 作为底层存储的程序员都知道 nolock 关键词,即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock,但这玩意有什么注意事项呢?这就需要了解它的底层原理了。 二:nolock 的原理 1. sql 阻塞还原 为了方便讲述,先创建 ......
SQLSERVER nolock

SQLSERVER 的四个事务隔离级别到底怎么理解?

一:背景 1. 讲故事 在有关SQLSERVER的各种参考资料中,经常会看到如下四种事务隔离级别。 READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEATABLE READ 随之而来的是大量的文字解释,还会附带各种 脏读, 幻读, 不可重复读 常常会把 ......
SQLSERVER 级别 事务

SqlServer服务中利用触发器对指定账户进行登录ip限制提升安全性

转眼间上次写文章已经是 2022年12月15日的事情啦,本来从2022年7月份开始写作之后保持着每周一篇,然而从12月15日后断更了这么久,经历了,隔离、阳、过年、从今天开始继续坚持写作,本片文章给大家分享 SqlServer服务中利用触发器对指定账户进行登录ip限制从而提升账户的安全性,这样可以灵 ......
触发器 账户 安全性 SqlServer

SOFAJRaft源码阅读(肆)-Netty时间轮算法的实践

SOFAJRaft的定时任务调度器是基于Netty来实现的,所以本文将会基于Netty时间轮算法,然后再结合SOFAJRaft源码进行分析。 @Author:Akai-yuan @更新时间:2023/1/29 1.HashedWheelTimer概览 一个时间轮算法的组成成分图: 一个基于Netty ......
算法 SOFAJRaft 源码 时间 Netty

DVWA靶场实战(七)——SQL Injection

DVWA靶场实战(七) 七、SQL Injection: 1.漏洞原理: SQL Inject中文叫做SQL注入,是发生在web端的安全漏洞,主要是实现非法操作,例如欺骗服务器执行非法查询,他的危害在于黑客会有恶意获取,甚至篡改数据库信息,绕过登录验证,原理是针对程序员编写数据库程序的疏忽,通过执行 ......
靶场 实战 Injection DVWA SQL

MySQL join语句怎么优化?

在MySQL的实现中,Nested-Loop Join有3种实现的算法: 1、 Simple Nested-Loop Join:简单嵌套循环连接 2、 Block Nested-Loop Join:缓存块嵌套循环连接 3、 Index Nested-Loop Join:索引嵌套循环连接 MySQL ......
语句 MySQL join

group by 语句怎么优化?

一、一个简单使用示例 我这里创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `order_no` int NOT NULL COMMENT '订单号', `goods_id` int ......
语句 group by

order by 语句怎么优化?

说明 当前演示的数据库版本5.7 一、一个简单使用示例 先创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `order_no` int NOT NULL COMMENT '订单号', ......
语句 order by

使用Logstash工具导入sqlserver数据到elasticSearch及elk分布式日志中心

首先记下这个笔记,Logstash工具导入sqlserver数据到elasticSearch。 因为logstash使用java写的,我本地开发是win11,所以javade jdk必须要安装。具体安装不介绍了,就是网上下个java8,不要去官网要账号什么的,不是java开发不太折腾,目前只用jav ......

企业应用架构研究系列二十四:SQL Server 数据库调优之XEvent 探查器

如果入职一些中小型公司,往往需要接手一些很“坑”的项目,到底多坑就不牢骚了,只讲一下,如果破解这些历史遗留的项目问题。项目代码可能短时间无法进行通读研究,我们就需要从底层数据库进行挖掘问题,有经验的老开发工程师,他会开启Sql Server Profiler 这个功能,进行语句的跟踪。这个是一个很好 ......
架构 数据库 数据 Server XEvent

在GCP上创建Cloud SQL的三种方式(Console,gcloud,Terraform)

1 简介 Cloud SQL 是GCP上的关系型数据库,常用的有三种方式来创建: (1) 界面操作 (2) 命令行 gcloud (3) Terraform 在开始之前,可以查看:《初始化一个GCP项目并用gcloud访问操作》。 2 GCP 操作界面 登陆GCP,选择SQL,可以创建MySQL、P ......
Terraform Console 方式 gcloud Cloud

SQLSERVER 事务日志的 LSN 到底是什么?

一:背景 1. 讲故事 大家都知道数据库应用程序 它天生需要围绕着数据文件打转,诸如包含数据的 .mdf,事务日志的 .ldf,很多时候深入了解这两类文件的合成原理,差不多对数据库就能理解一半了,关于 .mdf 的合成前面的文章已经有所介绍,这篇我们来聊一下 .ldf 的一些内部知识,比如 LSN。 ......
SQLSERVER 事务 日志 LSN

优化if...else...语句

写代码的时候经常遇到这样的场景:根据某个字段值来进行不同的逻辑处理。例如,不同的会员等级在购物时有不同的折扣力度。如果会员的等级很多,那么代码中与之相关的if...elseif...else...会特别长,而且每新增一种等级时需要修改原先的代码。可以用策略模式来优化,消除这种场景下的if...els ......
语句 else if

DVWA系列2:SQL Injection

DVWA系列2:SQL Injection 前言 SQL 注入是比较常见的攻击类型,之前一直听说过,也尝试看过一些教程,但其中的单引号,字符串拼接等感觉有点抽象,不知道为什么要这么做。这次就使用 DVWA 的环境来演练一下吧。 在这里我们的目标是获取所有的用户名和密码(虽然不是明文) 打开 SQL ......
Injection DVWA SQL

使用SQL4Automation让CodeSYS连接数据库

摘要:本文旨在说明面向CodeSYS的数据库连接方案SQL4Automation的使用方法。 1.SQL4Automation简介 1.1.什么是SQL4Automation SQL4Automation是一套工业用途的软件解决方案,它主要的功能就是为PLC和机器人控制提供数据库连接,它支持很多类型 ......

sql根据团队树一级一级汇总统计

​ 1、需求描述 最近碰到了一个需求,是要统计各个团队的员工的销售金额,然后一级一级向上汇总。 ​编辑 架构团队树是类似于这种样子的,需要先算出每个员工的销售金额,然后汇总成上一级的团队金额,然后各个团队的销售总金额再往上汇总成一个区域的销售金额,然后各个区域的金额再往上汇总成总公司的金额。当然我工 ......
团队 sql

2022年总结-五年的时间才明白业务的重要性

一: 因起 ​ 从事软件开发工作了几年了,总感觉缺少一些**"灵魂"的东西,为此很纠结,困惑,一直彷徨不定,很苦恼,以前认为技术**很重要,学习和工作的重心都在技术上,了解各种基础的组件,以及技术的知识,后来发现了解的技术依旧很浅薄,依然停留在“表面”上,在结合经验和认知,以及自己的学历,背景,发现 ......
重要性 业务 时间 2022

聊一聊 SQLSERVER 的行不能跨页

一:背景 1. 讲故事 相信有很多朋友在学习 SQLSERVER 的时候都听说过这句话,但大多都是记忆为主,最近在研究 SQLSERVER,所以我们从 底层存储 的角度来深入理解下。 二:理解数据页 1. 数据页的组织 在前面的文章中我也说过,一个 数据页 是 8k 大小,那这 8k 是如何组织的呢 ......
SQLSERVER

SQLSERVER 居然也能调 C# 代码 ?

一:背景 1. 讲故事 前些天看到一个奇怪的 Function 函数,调用的是 C# 链接库中的一个 UserLogin 方法,参考代码如下: CREATE FUNCTION dbo.clr_UserLogin ( @name AS NVARCHAR(100), @password AS NVARC ......
SQLSERVER 代码

SQLSERVER 的主键索引真的是物理有序吗?

一:背景 1. 讲故事 最近在看 SQL SERVER 2008 查询性能优化,书中说当一个表创建了聚集索引,那么表中的行会按照主键索引的顺序物理排列,这里有一个关键词叫:物理排列,如果不了解底层原理,真的会被忽悠过去,其实仔细想一想不可能实现严格的 物理排列 ,那对性能是非常大的损害,本篇我们就从 ......
SQLSERVER 索引 物理

再聊一下那 SQLSERVER 行不能跨页的事

一:背景 1. 讲故事 上一篇写完了之后,马上就有朋友留言对记录行的 8060byte 限制的疑惑,因为他的表记录存储了大量的文章,存储文章的字段类型用的是 nvarchar(max),长度很显然是超过 8060byte 的,请问这个底层是怎么破掉 8060byte 的限制的? 说实话这是一个好问题 ......
SQLSERVER

SQLSERVER 的复合索引和包含索引到底有啥区别?

一:背景 1. 讲故事 在 SQLSERVER 中有非常多的索引,比如:聚集索引,非聚集索引,唯一索引,复合索引,Include索引,交叉索引,连接索引,奇葩索引等等,当索引多了之后很容易傻傻的分不清,比如:复合索引 和 Include索引,但又在真实场景中用的特别多,本篇我们就从底层数据页层面厘清 ......
索引 SQLSERVER

一文掌握MyBatis的动态SQL使用与原理

摘要:使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。 本文分享自华为云社区《MyBatis详解 - 动态SQL使用与原理》,作者:龙哥手记 。 动态 SQL 是 MyBatis 的强大特性之一。如果你使用 ......
原理 MyBatis 动态 SQL

一次SQL调优 聊一聊 SQLSERVER 数据页

一:背景 1.讲故事 最近给一位朋友做 SQL 慢语句 优化,花了些时间调优,遗憾的是 SQLSERVER 非源码公开,玩起来不是那么顺利,不过从这次经历中我觉得明年的一个重大任务就是好好研究一下它,争取在 SQLSERVER 性能优化上做一些成绩,哈哈! 个人觉得要想深入研究 SQLSERVER, ......
SQLSERVER 数据 SQL

【c#】分享一个简易的基于时间轮调度的延迟任务实现

在很多.net开发体系中开发者在面对调度作业需求的时候一般会选择三方开源成熟的作业调度框架来满足业务需求,比如Hangfire、Quartz.NET这样的框架。但是有些时候可能我们只是需要一个简易的延迟任务,这个时候引入这些框架就费力不讨好了。 最简单的粗暴的办法当然是: Task.Run(asyn ......
简易 任务 时间