当前位置: 首页 > news >正文

c#面试题整理

1.如何保持数据库的完整性,一致性

最好的方法:数据库约束(check,unique,主键,外键,默认,非空)

其次是:用触发器

最后:才是自己些业务逻辑,这个效率低

2.事务

有点类似于存储过程,也是把一大串的sql语句,整合在一起,然后通过commit 调用事务名。

他的优势在于,在于要么全部成功,如果失败的话,会回滚,不会出现一部分成功,一部分失败这种情况。很好地维护了数据库的完整性和一致性。事务有这么几个特性,原子性,一致性,隔离性,持久性

3.介绍一下数据库的锁

锁的类型有三种

共享锁 S Lock

排它锁 X Lock

更新锁  U Lock

X Lock(仅允许一个事务进行读写)

-- 隐式加锁示例
BEGIN TRANSACTION;

-- 对某一行加排他锁(X Lock)
UPDATE Employees
SET Salary = Salary + 1000
WHERE EmployeeID = 1;

-- 提交事务,释放锁
COMMIT TRANSACTION;

执行 UPDATE 时,SQL Server 会自动对 EmployeeID = 1 的行加排他锁(X Lock),直到事务提交或回滚。

S Lock(允许多个事务一起读,但禁止写)

-- 显式加共享锁(S Lock)
BEGIN TRANSACTION;

SELECT *
FROM Employees WITH (HOLDLOCK, ROWLOCK)
WHERE DepartmentID = 10;

-- 提交事务,释放锁
COMMIT TRANSACTION;

  • HOLDLOCK:保持共享锁直到事务结束。

  • ROWLOCK:指定行级锁。

U Lock(初始为共享锁,更新时升级为排它锁)

-- 设置锁超时为 5 秒
SET LOCK_TIMEOUT 5000;

BEGIN TRANSACTION;

-- 尝试加锁,如果 5 秒内未获得锁,则抛出错误
SELECT *
FROM Employees WITH (UPDLOCK, ROWLOCK)
WHERE EmployeeID = 1;

COMMIT TRANSACTION;

  • UPDLOCK:加更新锁(U Lock),防止其他事务修改数据。

BEGIN TRANSACTION;

-- 加更新锁(U Lock)
SELECT *
FROM Employees WITH (UPDLOCK)
WHERE EmployeeID = 1;

-- 检查数据后决定更新
UPDATE Employees
SET Salary = Salary + 1000
WHERE EmployeeID = 1;

COMMIT TRANSACTION;

  • 在 SELECT 语句中,WITH (UPDLOCK) 提示会对 EmployeeID = 1 的行加更新锁(U Lock)。

  • 此时,其他事务可以读取该行(加共享锁),但不能加更新锁或排他锁。

  • 当执行 UPDATE 语句时,更新锁会升级为排他锁(X Lock),其他事务将无法访问该行,直到当前事务完成。

4.介绍一下索引

索引,英文名index,功能就类似于书籍的索引,通过索引目录,可以更快地定位。

5.介绍一下视图和游标

视图是一种虚拟表,有时候为了方便查询,会将一张表或多张的表数据,作个临时的整合。视图的作用,就是把临时整合的结果放在视图里,这样查询这个整合结果的时候,直接查询视图名即可。理论上可以对视图进行增加,删除,修改,但是条件很苛刻,建议从原表进行增删改

游标,顾名思义游动的标记。比如有一张订单表,里面有订单总额这个字段,这时候要实现总额超过1000的,状态字段显示高,小于等于1000的显示低。游标起到的作用,就是遍历查询结果,加上对应的高低状态。

游标的缺点就是服务器开销大。

6.介绍一下存储过程

将一大串的sql语句,整合在一起。exec 调用存储过程名。有点,速度快,流量消耗少,加密性好,防止sql注入

7.触发器介绍一下

triger。对某张表执行某项操作的时候,如果该操作,有对应的触发操作,执行该操作后,就会执行触发器里定义的操作行为。

有点就是:减少了客户端的操作步骤,也算是起到了数据约束的作用

相关文章:

c#面试题整理

1.如何保持数据库的完整性,一致性 最好的方法:数据库约束(check,unique,主键,外键,默认,非空) 其次是:用触发器 最后:才是自己些业务逻辑,这个效率低 2.事…...

数据库基础以及基本建库建表的简单操作

文章目录 一、数据库是啥1.1、数据库的概念1.1、关系型数据库、非关系型数据库1.1、数据库服务器,数据库与表之间的关系 二、为啥要使用数据库2.1:传统数据文件存储2.2:数据库存储数据2.3、结论 三、使用数据库了会咋样四、应该咋用数据库&am…...

基于spring boot使用@Sl4j的日志功能,注解引入后爆红未生效

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 问题描述问题分析解决方案 📃文章…...

《深度剖析架构蒸馏与逻辑蒸馏:探寻知识迁移的差异化路径》

在人工智能模型优化的前沿领域,架构蒸馏与逻辑蒸馏作为知识蒸馏的关键分支,正引领着模型小型化与高效化的变革浪潮。随着深度学习模型规模与复杂度的不断攀升,如何在资源受限的情况下,实现模型性能的最大化,成为了学术…...

使用OpenCV来获取视频的帧率

在OpenCV中,获取视频的帧率(FPS, Frames Per Second)是一个常见的操作,尤其是在处理视频流或进行视频分析时。帧率表示每秒钟视频中的帧数,这个参数对于视频播放速度和时间计算非常重要。 以下是如何使用OpenCV来获取…...

计算机视觉|3D卷积网络VoxelNet:点云检测的革新力量

一、引言 在科技快速发展的背景下,3D 目标检测技术在自动驾驶和机器人领域中具有重要作用。 在自动驾驶领域,车辆需实时、准确感知周围环境中的目标物体,如行人、车辆、交通标志和障碍物等。只有精确检测这些目标的位置、姿态和类别&#x…...

vue-cli3+vue2+elementUI+avue升级到vite+vue3+elementPlus+avue总结

上一个新公司接手了一个vue-cli3vue2vue-router3.0elementUI2.15avue2.6的后台管理项目,因为vue2在2023年底已经不更新维护了,elementUI也只支持到vue2,然后总结了一下vue3的优势,最后批准升级成为了vitevue3vue-router4.5element…...

Jmeter进行http接口测试详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 本文主要针对http接口进行测试,使用 jmeter工具实现。 Jmeter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较…...

大模型AI平台DeepSeek 眼中的SQL2API平台:QuickAPI、dbapi 和 Magic API 介绍与对比

目录 1 QuickAPI 介绍 2 dbapi 介绍 3 Magic API 介绍 4 简单对比 5 总结 统一数据服务平台是一种低代码的方式,实现一般是通过SQL能直接生成数据API,同时能对产生的数据API进行全生命周期的管理,典型的SQL2API的实现模式。 以下是针对…...

靶场之路-VulnHub-DC-6 nmap提权、kali爆破、shell反连

靶场之路-VulnHub-DC-6 一、信息收集 1、扫描靶机ip 2、指纹扫描 这里扫的我有点懵,这里只有两个端口,感觉是要扫扫目录了 nmap -sS -sV 192.168.122.128 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4p1 Debian 10deb9u6 (protoc…...

nginx服务器实现上传文件功能_使用nginx-upload-module模块

目录 conf文件内容如下html文件内容如下上传文件功能展示 conf文件内容如下 #user nobody; worker_processes 1;error_log /usr/logs/error.log; #error_log /usr/logs/error.log notice; #error_log /usr/logs/error.log info;#pid /usr/logs/nginx.pid;even…...

32.C++二叉树进阶1(二叉搜索树)

⭐上篇文章:31.C多态4(静态多态,动态多态,虚函数表的存储位置)-CSDN博客 ⭐本篇代码:c学习/18.二叉树进阶-二叉搜索树 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分…...

RV1126+FFMPEG多路码流监控项目

一.项目介绍: 本项目采用的是易百纳RV1126开发板和CMOS摄像头,使用的推流框架是FFMPEG开源项目。这个项目的工作流程如下(如上图):通过采集摄像头的VI模块,再通过硬件编码VENC模块进行H264/H265的编码压缩,并把压缩后的…...

doris: SQL Server

Doris JDBC Catalog 支持通过标准 JDBC 接口连接 SQL Server 数据库。本文档介绍如何配置 SQL Server 数据库连接。 使用须知​ 要连接到 SQL Server 数据库,您需要 SQL Server 2012 或更高版本,或 Azure SQL 数据库。 SQL Server 数据库的 JDBC 驱动…...

valgrind 检测多线程 bug,检测 并发 bug concurrent bug parallel bug

valgrind --toolhelgrind ./your_program 如果检测的对象是大型程序,可以设定仅在某些函数中开启 valgrind 的检测: Valgrind 提供了一些客户请求(client requests),可以在代码中插入特定的宏来控制 Valgrind 的行为。…...

查看k8s集群的资源使用情况

查看Kubernetes(k8s)集群的资源使用情况有多种方法,以下是一些常见的方式: 使用kubectl命令行工具 查看节点资源使用情况 kubectl top nodes命令可以显示集群中各个节点的CPU和内存使用情况。例如: NAME …...

在 k8s中查看最大 CPU 和内存的极限

在 Kubernetes(k8s)中,你可以从不同层面查看最大 CPU 和内存的极限,下面为你详细介绍从节点和集群层面查看的方法。 查看节点的 CPU 和内存极限 节点的 CPU 和内存极限是指单个节点上可分配的最大资源量,可通过以下几…...

IDC权威认证!永洪科技入选 IDC「GBI图谱」,点亮生成式 BI 价值灯塔

大数据市场正在稳步前进,生成式AI已成为厂商服务的重点方向,其发展离不开数据底座建设和数据工程管理,反过来AI也会帮助开发运维人员、业务人员和管理层更好地使用、查询数据。IDC调研数据显示,在生成式AI的驱动下,未来…...

HarmonyOS 应用程序包结构 (编译态)

不同类型的Module编译后会生成对应的HAP、HAR、HSP等文件,开发态视图与编译态视图的对照关系如下: 从开发态到编译态,Module中的文件会发生如下变更: ets目录:ArkTS源码编译生成.abc文件。resources目录:A…...

C# 程序结构

C#的程序结构大体可以分为: 命名空间、类名、Main方法、标识符及关键字语句注释 C# 文件的后缀为 .cs 以下创建一个HelloWorld的类,可以看一下 using System; namespace HelloWorldApplication //命名空间 {class HelloWorld //类名{static void …...

LLM 学习(二 完结 Multi-Head Attention、Encoder、Decoder)

文章目录 LLM 学习(二 完结 Multi-Head Attention、Encoder、Decoder)Self-Attention (自注意力机制)结构多头注意力 EncoderAdd & Norm 层Feed Forward 层 EncoderDecoder的第一个Multi-Head AttentionMasked 操作Teacher Fo…...

GET3D:从图像中学习的高质量3D纹理形状的生成模型

【摘要】 本文提出了GET3D,这是一种新的生成模型,能够生成具有任意拓扑结构的高质量3D纹理网格,可以直接被3D渲染引擎使用并在下游应用中立即使用。现有的3D生成模型要么缺乏几何细节,要么生成的网格拓扑受限,通常不支持纹理,或者在生成过程中使用神经渲染器,使得它们在…...

JmeterHttp请求头管理出现Unsupported Media Type问题解决

JmeterHttp请求头管理出现Unsupported Media Type问题解决 大多数的app与pc端压测的时候都会出现这种情况 当我们在jemter测试当中当中遇见Unsupported Media Type,有一种可能就是我们请求的网页的content-Type的类型与我们测试的时候的类型不一致 解决方法 可以添…...

Python 性能优化:从入门到精通的实用指南

Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

Vue23Web 基礎性拉滿的面試題(2025版)還沒更新完...

Vue2&3 基礎性1. 關於Vue2和Vue3生命週期的差別2. Vue2&3組件之間傳參不同點Vue2 傳遞與接收Vue3 傳遞與接收 (使用script setup語法糖)Vue3 傳遞與接收 (不使用script setup語法糖) 3. Vue2&3 keep-alive 組件Vue2 keep-aliveVue3 keep-alive 進階性爲什麽POST請求…...

Python基于Django的医用耗材网上申领系统【附源码、文档说明】

博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...

STM32使用无源蜂鸣器

1.1 介绍: 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同…...

9.1go结构体

Go不是完全面向对象的,没有类的概念,所以结构体应该承担了更多的责任。 结构体定义 使用 type 和 struct 关键字定义: type Person struct { Name string Age int } 字段可以是任意类型,包括其他结构体或指针。 字段名以大写…...

Ubuntu20.04本地配置IsaacLab 4.2.0的G1训练环境(一)

Ubuntu20.04本地配置IsaacLab的G1训练环境(一) 配置Omniverse环境配置IsaacSim配置IsaacLab 写在前面,如果Ubuntu剩余空间低于60G,则空间不足,除非你不需要资产包。但资产包中却包含了G1模型、Go2模型等机器人模型和代…...

全星FMEA软件:汽车电子行业研发管理高效之选

全星FMEA软件:汽车电子行业研发管理高效之选 在汽车电子行业,FMEA(失效模式与影响分析)是确保产品质量和安全的关键工具。然而,传统的FMEA分析过程往往繁琐复杂,耗费大量时间和精力。 全星FMEA软件应运而生…...

AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型(LLM)应用开发平台

AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型(LLM)应用开发平台 目录 AGI 之 【Dify】 之 使用 Docker 在 Windows 端本地部署 Dify 大语言模型(LLM)应用开发平台 一、简单介绍 二、Docker 下载安…...

OpenCV计算摄影学(18)平滑图像中的纹理区域同时保留边缘信息函数textureFlattening()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::textureFlattening 是 OpenCV 中用于图像处理的一个函数,旨在平滑图像中的纹理区域,同时保留边缘信息。该技术特别适…...

RLock类详细介绍、应用场景和示例代码

概述 org.redisson.api.RLock 是 Redisson 提供的 分布式可重入锁(类似 ReentrantLock),基于 Redis 实现,常用于 分布式环境 下的 并发控制。 1. RLock 详解 🔹 特点 基于 Redis 实现,支持 集群环境。可…...

【HeadFirst系列之HeadFirst设计模式】第16天之生成器模式(Builder Pattern):让对象构建更优雅!

🚀 生成器模式(Builder Pattern):让对象构建更优雅! “遇到复杂对象构建?试试生成器模式!” 在日常开发中,我们经常会遇到 创建对象属性过多、构造方法过长、可选参数混乱 的问题。这…...

Browser Use+DeepSeek的使用教程

browser-use webui 主要功能 提供了全新的网页界面,简单好用,方便操作。 支持更多大语言模型,比如 Gemini、OpenAI、Azure 等,还有最近爆火的国产大模型 DeepSeek,未来还会加更多。 支持用自己的浏览器,不用…...

“此电脑”中删除WPS云盘方法(百度网盘通用)

📣此方法适用于卸载WPS云盘后,WPS云盘图标依然在此电脑中显示的问题。 原理:通过注册来进行删除 步骤: WIN键R,打开运行窗口,输入regedit命令,来打开【注册表编辑器】; 从左侧,依…...

1. 树莓派上配置机器人环境(具身智能机器人套件)

1. 安装树莓派系统 镜像下载地址(windows/Mac/Ubuntu),安装Pi5. 2. 环境配置(登录Pi系统) 2.1 启用 SSH From the Preferences menu, launch Raspberry Pi Configuration. Navigate to the Interfaces tab. Select Enable…...

正则表达式(2)匹配规则

正则表达式的匹配规则定义了如何识别字符串中的特定模式。这些规则包括字符类匹配、元字符匹配、数量词、字符转义和分组。 字符类匹配 字符类匹配允许你指定一个字符集合,并匹配该集合中的任意单个字符。这是通过方括号 [] 来实现的。 简单字符类:[abc…...

Golang实践录:go发布版本信息收集

go发布版本信息收集。 背景 本文从官方、网络资料收罗有关go的发布历史概况。主要目的是能快速了解golang不同版本的变更。鉴于官方资料为英文,为方便阅读,使用工具翻译成中文,重要特性参考其它资料补充/修改。由于发布版本内容较多&#xf…...

go:windows环境下安装Go语言

1.下载 打开Go语言中文网下载页面: https://studygolang.com/dl 按照对应平台选择下载: https://studygolang.com/dl/golang/go1.19.2.windows-amd64.msi。 2.安装 双击下载好的文件 记下安装路径,删除末尾的反斜杠: C:\Program…...

遵义市招生管理信息系统的开发与实现

近年来,随着信息技术的发展,各类管理系统在教育领域得到广泛应用。本文将介绍如何开发一个基于Web的招生管理信息系统,以提高遵义市招生工作的效率和透明度。 系统架构设计 本系统采用典型的三层架构,包括表示层、业务逻辑层和数…...

Java 大视界 -- 区块链赋能 Java 大数据:数据可信与价值流转(84)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

Pytest自动化框架

目录 Pytest简单介绍 第一章:Pytest console命令 1.pytest -v 参数 -h 参数 其他一些参数:仅供参考 第二章. mark标记 pytest.mark.skip pytest.mark.skipif pytest.mark.xfail ​编辑 pytest.mark.patametrize 单个参数 多个参数 直接…...

算法之 前缀和

文章目录 前缀和基础3427.变长子数组求和 前缀和与哈希表1524.和为奇数的子数组数目 距离和1685.有序数组中绝对值之和 前缀异或和1177.构建回文串检测 其他一维前缀和1310.子数组异或查询 二维前缀和1314.矩阵区域和 前缀和,就是定义pre[i] 为nums的前i个元素的和值…...

【Windows下Gitbook快速入门使用】

Windows下Gitbook快速入门使用 1 工具安装1.1 Node.js下载安装1.1 环境变量1.2 npm配置1.3 安装gitbook 2 gitbook使用2.1 gitbook 无法执行2.2 gitbook常用命令 Gitbook是一个软件,使用Git和Markdown来编排书本; GitBook helps you pushlish beautiful …...

python网络爬虫开发实战之基本库使用

目录 第二章 基本库的使用 2.1 urllib的使用 1 发送请求 2 处理异常 3 解析链接 4 分析Robots协议 2.2 requests的使用 1 准备工作 2 实例引入 3 GET请求 4 POST请求 5 响应 6 高级用法 2.3 正则表达式 1 实例引入 2 match 3 search 4 findall 5 sub 6 com…...

【hello git】git rebase、git merge、git stash、git cherry-pick

目录 一、git merge:保留了原有分支的提交结构 二、git rebase:提交分支更加整洁 三、git stash 四、git cherry-pick 共同点:将 一个分支的提交 合并到 到另一个上分支上去 一、git merge:保留了原有分支的提交结构 现有一个模型…...

deepseek、腾讯元宝deepseek R1、百度deepseekR1关系

分析与结论 区别与联系 技术基础与定制方向: DeepSeek官网R1版本:作为基础版本,通常保留通用性设计,适用于广泛的AI应用场景(如自然语言处理、数据分析等)。其优势在于技术原生性和官方直接支持。腾讯元宝…...

DeepSeek + 沉浸式翻译 打造智能翻译助手

本文详细介绍如何使用 DeepSeek API 沉浸式翻译插件打造个性化翻译助手。 一、DeepSeek API 配置 基础配置 API 基础地址:https://api.deepseek.com需要申请 API Key支持与 OpenAI SDK 兼容的调用方式 可用模型 deepseek-chat:已升级为 DeepSeek-V3&am…...

iOS 聊天 IM 消息收发管理工具

iOS 聊天 IM 消息收发管理工具 连续疯狂加班告一段落,趁着离职前夕的空闲时间,整理一下重构相关的文档。之前写过两篇文章 iOS 客户端 IM 以及列表 UI 框架 、iOS 客户端 IM 消息卡片插件化,突然发现时间过的真的很快,这都已经是…...