搜索到与相关的文章
数据库相关

为代码减负之<二>存储过程(SQL)

在上篇博客中介绍到了触发器的使用,而且当中也提到了触发器是个特殊的存储过程,那么什么是存储过程呢?他们两个又究竟有什么差别呢?事实上最基本的差别就是,触发器是当满足条件时系统自己主动运行的,而存储过程是手动调用的。简介什么是存储过程?定义:将经常使用的或非常复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,用户通过指定存储过程的名字并给出參数(假设该存储过程带有參数)来调用它。说到这里,可能有人要问:这么说存储过程不就是一堆SQL语句而已吗?那么

系统 2019-08-12 01:54:44 2326

数据库相关

Win2003远程终端超过最大连接数的解决方法

使用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器,引起该问题的原因在于终端服务的缺省链接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端,这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。解决方式:一、用注销来退出远程桌面而不是直接关闭窗口二、限制已断开链接的会话存在时间三、增加最多链

系统 2019-08-12 01:53:34 2326

数据库相关

EF 优化

本文介绍一些改善EF代码、优化其性能的相关方法,如NoTracking,GetObjectByKey,Include等,还包括编译查询、存储模型视图以及冲突处理等内容。。lMergeOption.NoTracking当我们只需要读取某些数据而不需要删除、更新的时候,可以指定使用MergeOption.NoTracking的方式来执行只读查询(EF默认的方式是AppendOnly)。当指定使用NoTracking来进行只读查询时,与实体相关的引用实体不会被返

系统 2019-08-12 01:52:40 2326

数据库相关

如何选择行版本的隔离级别

基于行版本控制的隔离级别通过消除读取操作的锁来改善读取并发。MicrosoftSQLServer引入了两个使用行版本控制的事务隔离级别:READ_COMMITTED_SNAPSHOT数据库选项为ON时,启用使用行版本控制的已提交读隔离的新实现。ALLOW_SNAPSHOT_ISOLATION数据库选项为ON时,启用的新的快照隔离级别。对于大多数应用程序,建议应用使用行版本控制的已提交读隔离,而不要应用快照隔离,原因如下:已提交读隔离比快照隔离占用的temp

系统 2019-08-12 01:34:03 2326

数据库相关

模仿c的字符转整数函数 atoi

1#include2enumStatus{KValid=0,KInvalid};3intg_nStatus=KValid;4longStrToIntCore(char*str,boolminus)5{6longnum=0;7while(*str!='\0')8{9if(*str>'0'&&*str<'9')10{11intflag=minus?-1:1;12num=num*10+flag*(*str-'0');13if((!minus&&

系统 2019-08-12 01:33:55 2326

数据库相关

PetShop4.0 学习总结----数据库访问层结构分析

最近在看PetShop4.0,暂且熟悉了一些数据库层的设计。看了看,其实也不是很复杂。主要就是使用了一个工厂,以及一个IOC以来注入。我所画的类图如下(不是很标准,自己的UML水品一般。。。)其中的web.config是我自己天上去的,主要就是为了说明一下IOC的问题。其中的Model主要定义了一些实体类。IDAL提供了数据库访问层的抽象,分别有SQLDAL和OracleDAL去实现。DALFactory是一个反射工厂,通过读取配置文件中的配置,判断使用的

系统 2019-08-12 01:33:39 2326

各行各业

分布式中的异步通信

我也要谈谈大型网站架构之系列(4)——分布式中的异步通信我们知道在面向对象编程中,总会想着各种办法来实现代码的解耦,从而让项目中的各种人员面对自己熟悉的业务进行开发,做到术业有专攻,比如大家非常熟悉的三层架构,MVC,MVP以及MVVM模式,让前端设计专注于html的制作,让后端开发人员更加专注于业务逻辑的编写,可以看到,我们这么做的目的就是想最大程度的做到系统的可扩展和可维护性,那么我们的大型网站是不是也要遵守这种模式呢?一:分层和分割1:分层对于分层,

系统 2019-08-12 01:32:41 2326

Python

python中几种自动微分库解析

前言简单介绍下python的几个自动求导工具,tangent、autograd、sympy;在各种机器学习、深度学习框架中都包含了自动微分,微分主要有这么四种:手动微分法、数值微分法、符号微分法、自动微分法,这里分别简单走马观花(helloworld式)的介绍下下面几种微分框架;sympy强大的科学计算库,使用的是符号微分,通过生成符号表达式进行求导;求得的导数不一定为最简的,当函数较为复杂时所生成的表达式树异常复杂;autograd自动微分先将符号微分用

系统 2019-09-27 17:57:01 2325

Python

C++、Python、Rust、Scala 构建编译器的差异性究竟有多大?

【CSDN编者按】编程语言之争是开发者们热议的永恒话题,在不同语言的选择和设计决定上也都观点不一。那么在面对大型项目时该如何选择具体实现呢?本文的作者借课程项目之机,比较了Rust、Haskell、OCaml、C++、Python、Scala等语言编写的编译器差异,最终发现,这些语言在代码量和功能实现上简直千差万别!作者|TristanHume译者|弯月,责编|郭芮出品|CSDN(ID:CSDNnews)以下为译文:我在滑铁卢大学的最后一个学期选了CS44

系统 2019-09-27 17:57:00 2325

Python

python获取Linux发行版名称

我必须从Python脚本中获取Linux发行版名称。dist平台模块中有一个方法:importplatformplatform.dist()但在我的ArchLinux下它返回:>>>platform.dist()('','','')为什么?我怎么能得到这个名字?PS。我必须检查分发是否是基于Debian的。更新:我在这里找到了Python站点,自2.6以来,dist()已被弃用。>>>platform.linux_distribution()('','',

系统 2019-09-27 17:56:24 2325