sql
2023-01-12
61
事务处理基本原理 事务是将一系列操作作为一个单元执行,要么成功,要么失败,回滚到最初状态。在事务处理术语中,事务要么提交,要么中止。若要提交事务,所有参与者都必须保证对数据的任何更改是永久的。不论系统崩溃或是发生其他无法预料的事件,更改都须是持久的。只要有一个参与者无法做出此保证,整个事务就会失败。事务范围内的所有数据更改将回滚到特定设置点。 事务将多个操作紧密联系到一起,这样就能保证有联系的两种操作的一致性、以及数据的完整性。举个简单例子:公司的员工信息管理系统,现在要录入数据,员工信息系统
2023-01-12
51
导读:
关于MySQL数据库规范,相信大家多少看过一些文档。本篇文章给大家详细分类总结了数据库相关规范,从库表命名设计规范讲起,到索引设计规范,后面又给出SQL编写方面的建议。相信这些规范适用于大多数公司,也希望大家都能按照规范来使用我们的数据库,这样我们的数据库才能发挥出更高的性能。
关于库:
1.【强制】库的名称必须控制在32个字符以内,英文一律小写。
2.【强制】库的名称格式:业务系统名称_子系统名。
3.【强制】库名只能使用英文字母,数字,下划线,并以英文字母开头。
4.【强制】创建数据库时必须
2023-01-11
56
复制代码 代码如下: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、建立测试用的
2023-01-11
192
很久之前用到的,现在整理在这,里面一些代码来源于网上,不过有些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
2023-01-11
23
摘要1,EXEC的使用2,sp_executesql的使用MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详加说明),还可以编写更安全的代码。EXEC在某些情况下会更灵活。除非您有令人信服的理由使用EXEC,否侧尽量使用sp_executesql. 1,E
2023-01-11
46
目录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.
2023-01-11
47
目录前言方法如下:总结前言
SQL Server创建表是最常见也是最常用的操作之一,下面就为您介绍SQL Server创建表的语句写法,供您参考,希望可以让您对SQL Server创建表方面有更深的认识。
方法如下:
1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者模块访问
2:创建局部临时表
use db_sqlserver
go
create table #db_local_tabl
2023-01-11
54
无意中看到朋友写的一篇文章“将表里的数据批量生成INSERT语句的存储过程的实现”。我仔细看文中的两个存储代码,自我感觉两个都不太满意,都是生成的单行模式的插入,数据行稍微大些性能会受影响的。所在公司本来就存在第二个版本的类似实现,但是是基于多行模式的,还是需要手工添加UNAION ALL来满足多行模式的插入。看到这篇博文和基于公司数据行批量脚本的存储的缺点,这次改写和增强该存储的功能。 本存储运行于SQL Server 2005或以上版本,T-SQL代码如下:IF OBJECT_ID(N'd