自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 数据库中的锁

如果另一个SPID持有与升级的表锁冲突的IX(intent exclusive)锁定,则它会获取更细粒度的级别(行,key或页面)锁定,定期进行额外的升级尝试。ACID是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。事务完成后,SQL Server将释放锁定的对象。

2024-03-07 14:55:41 1418

原创 C#12新增功能

作为.NET 8的实验性功能,在未来的版本中有可能被修改甚至删除,因此,它不应该在生产环境中使用。拦截器是一种方法,该方法可以在编译时以声明方式将对可拦截方法的调用替换为对其自身的调用。前面的代码演示了用于初始化计算的只读属性的主构造函数。新的 C# 12 功能在预览版中已经引入. 您可以使用最新的 Visual Studio 预览版或最新的 .NET 8 预览版 SDK 来尝试这些功能。你只需要告诉你的魔术盒你想要什么(比如,你想要的玩具魔方的长度,或者芭蕾舞泰迪熊的最小数量),它就会给你,都不用进去!

2024-03-07 14:10:38 542

原创 C# 面试题100

接口中的所有方法都是抽像的,没有一个有程序体。答:声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。转化为short型。有错,s1是short型,s1+1是int型,不能显式。2.一列数的规则如下: 1、1、2、3、5、8、13、21、34…

2024-03-01 14:12:17 321

原创 C#效率问题总结

例如,如果结果仅按日期排序,但可能有多个具有相同日期的结果,则每个拆分查询都可以从数据库获取不同的结果。虽然有些数据库(带有 MARS 的 SQL Server、Sqlite)允许同时使用多个查询的结果,但大多数数据库在任何给定时间点只允许一个查询处于活动状态。因此,在执行以后的查询之前,必须先在应用程序的内存中缓冲先前查询的所有结果,这将增加内存需求。如果在执行查询时同时更新数据库,生成的数据可能会不一致。虽然使用 SQL 时,JOIN 是相当标准的,但如果使用不当,可能会引发严重的性能问题。

2024-03-01 10:50:37 744

原创 .NET 性能—Entity Framework Core调优

跟踪监控造成额外的空间浪费,但能方便更新数据,所以在不涉及修改的情况下(只查询时),我们可以用AsNoTracking方法来手动关闭跟踪。默认预先加载(懒加载)时,EF core为我们生成的sql语句为left join语句,查询结果为主表、副表的所有字段;这里会存在笛卡尔积的问题,即副表关联数据为null时(假设某产品没有变更记录),也会查询副表,如果副表null数据较多时,会造成性能下降。即字段查询、传输需要时间,字段越多,所需的时间就越多,所以我们可以指定我们所需的字段。10、自定义sql语句。

2023-10-28 11:03:37 77

原创 Docker入门

Docker 是世界领先的软件容器平台容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。优点1、更快速的交付和部署开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。

2021-04-28 09:27:40 174

原创 视频录制总结

幕布工作视频录制思维导图视频录制Video切换编码格式 H264输出格式为webm编码格式改为H264 转换时报错 ‘[webm @ 0x55facb797dc0] Only VP8 or VP9 or AV1 video and Vorbis or Opus audio and WebVTT subtitles are supported for WebM.\n’]编码格式改为VP9,视频格式为webm,录制后视频为0Kb输出格式为mp4突然中断录制结束后无法播放输出格式为m3u8

2021-04-28 09:26:02 600

原创 CQRS(Command Query Responsibility Segration) 和 CRUD

CQRSCQ 两端数据库共享 (与CRUD 类似)CQ 两端不仅代码分离,数据库也分离扩展性更高可异步方便进行溯源与历史重现对于Command类型的请求(需要修改数据),web层会走通过Event Sourcing更新聚合对象的流程,这时会有一个Event Handler的处理类监听相应事件,更新物化视图对于Query类型的请求,web层会通过相应的DAO获取数据返回CRUD读写分离, 操作同一个实体对象并发量多的时候,各种更新、查询都在这数据库里,会造成一些锁,性能上的影响,对数据

2021-04-28 09:24:36 262

原创 Sql 查询数据库中Table 索引,主键,外键

查询Table中主键,外键,索引个数with Tab1 as(SELECT a.name, count(b.name) AS comCounbtFROM sysobjects AS a INNER JOIN syscolumns AS b ON a.id = b.idWHERE (a.type = 'u')Group BY a.name),Tab2 as(select ftable.name ptablename,COunt(fk.name) AS fkCount from sysforei

2020-08-04 15:41:24 275

原创 C# 搭建 MediatR 基本框架

INotificationHandler:INotification 多播消息传输多播消息传输,也就是一对多的消息传递,一个消息对应多个消息处理。其通过INotification来抽象多播消息,对应的消息处理类型为INotificationHandler。IRequestHandler:单播消息传输,也就是一对一的消息传递,一个消息对应一个消息处理。其通过IRequest来抽象单播消息,用IRequestHandler进行消息处理。感兴趣的可以了解下:MediatR 知多少: https://www

2020-07-30 17:18:22 2726

原创 Sql 时间相互转换~

当前时间转UTC时间:DECLARE @current_datetime DATETIME;DECLARE @days_from_0001_to_1900 BIGINT;DECLARE @ticks_per_millisecond BIGINT;DECLARE @ticks_per_day BIGINT;DECLARE @millisecond_of_time BIGINT;DECLARE @ticks_of_days BIGINT;DECLARE @LocalDate DATETIME,@

2020-07-29 14:56:54 255

原创 SQL 效率问题~

查询缺失索引:SELECT DatabaseName = DB_NAME(database_id) ,[Number Indexes Missing] = count(*) FROM sys.dm_db_missing_index_details GROUP BY DB_NAME(database_id) ORDER BY 2 DESC; SELECT TOP 10 [Total Cost] = ROUND(avg_total_user_cos

2020-07-29 14:42:39 159

C# 搭建MediatR 基本框架

C# 搭建MediatR 基本框架

2020-07-30

LINQ的用法

LInQ的应用,增加删除修改。还有一个阅览器

2013-10-23

C#IO文件流银行存储系统

还可以吧挺简单的,包括存钱取钱转账冻结。

2013-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除