sql

数据库

c#中SqlTransaction——事务详解

61 0

事务处理基本原理 事务是将一系列操作作为一个单元执行,要么成功,要么失败,回滚到最初状态。在事务处理术语中,事务要么提交,要么中止。若要提交事务,所有参与者都必须保证对数据的任何更改是永久的。不论系统崩溃或是发生其他无法预料的事件,更改都须是持久的。只要有一个参与者无法做出此保证,整个事务就会失败。事务范围内的所有数据更改将回滚到特定设置点。 事务将多个操作紧密联系到一起,这样就能保证有联系的两种操作的一致性、以及数据的完整性。举个简单例子:公司的员工信息管理系统,现在要录入数据,员工信息系统

数据库

MySQL数据库使用规范总结

51 0

导读: 关于MySQL数据库规范,相信大家多少看过一些文档。本篇文章给大家详细分类总结了数据库相关规范,从库表命名设计规范讲起,到索引设计规范,后面又给出SQL编写方面的建议。相信这些规范适用于大多数公司,也希望大家都能按照规范来使用我们的数据库,这样我们的数据库才能发挥出更高的性能。 关于库: 1.【强制】库的名称必须控制在32个字符以内,英文一律小写。 2.【强制】库的名称格式:业务系统名称_子系统名。 3.【强制】库名只能使用英文字母,数字,下划线,并以英文字母开头。 4.【强制】创建数据库时必须

数据库

SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法

56 0

复制代码 代码如下:SET @SQL = 'SELECT * FROM Comment with(nolock) WHERE 1=1 And (@ProjectIds Is Null or ProjectId = @ProjectIds) And (@Scores is null or Score =@Scores)' 印象中记得,以前在做Oracle开发时,这种写法是会导致全表扫描的,用不上索引,不知道Sql Server里是否也是一样呢,于是做一个简单的测试1、建立测试用的

数据库

SqlServer将查询结果转换为XML和JSON

192 0

很久之前用到的,现在整理在这,里面一些代码来源于网上,不过有些bug已被我修改了。 1.查询结果转XMLDECLARE @ParameterSQL NVARCHAR(MAX)='SELECT * FROM table'; DECLARE @SQL NVARCHAR(MAX) DECLARE @XMLString VARCHAR(MAX) DECLARE @XML XML DECLARE @Paramlist NVARCHAR(1000) SET @Paramlist = N'@XM

数据库

SQLServer探讨EXEC与sp_executesql的区别详解

23 0

摘要1,EXEC的使用2,sp_executesql的使用MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详加说明),还可以编写更安全的代码。EXEC在某些情况下会更灵活。除非您有令人信服的理由使用EXEC,否侧尽量使用sp_executesql. 1,E

数据库

9种 MySQL数据库优化的技巧

46 0

目录1、选择最合适的字段属性2、尽量把字段设置为NOT NULL3、使用连接(JOIN)来代替子查询(Sub-Queries)4、使用联合(UNION)来代替手动创建的临时表5、事务6、使用外键7、锁定表8、使用索引9、优化de的查询语句9.1 不使用子查询9.2 避免函数索引 9.3 用IN来替换OR9.4 LIKE双百分号无法使用到索引9.5 读取适当的记录LIMIT M,N9.6 避免数据类型不一致 9.7 分组统计可以禁止排序 9.8 避免随机取记录 9.9 禁止不必要的ORDER BY排序 9.

数据库

一文教会你在sqlserver中创建表

47 0

目录前言方法如下:总结前言 SQL Server创建表是最常见也是最常用的操作之一,下面就为您介绍SQL Server创建表的语句写法,供您参考,希望可以让您对SQL Server创建表方面有更深的认识。 方法如下: 1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者模块访问 2:创建局部临时表 use db_sqlserver go create table #db_local_tabl

数据库

SQL Server中数据行批量插入脚本的存储实现

54 0

无意中看到朋友写的一篇文章“将表里的数据批量生成INSERT语句的存储过程的实现”。我仔细看文中的两个存储代码,自我感觉两个都不太满意,都是生成的单行模式的插入,数据行稍微大些性能会受影响的。所在公司本来就存在第二个版本的类似实现,但是是基于多行模式的,还是需要手工添加UNAION ALL来满足多行模式的插入。看到这篇博文和基于公司数据行批量脚本的存储的缺点,这次改写和增强该存储的功能。 本存储运行于SQL Server 2005或以上版本,T-SQL代码如下:IF OBJECT_ID(N'd