#sq

SQL Server死锁产生原因及解决办法 .

其实所有的死锁最深层的原因就是一个:资源竞争 表现一:  一个用户A访问表A(锁住了表A),然后又访问表B,另一个用户B访问表B(锁住了表B),然后企图访问表A,这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实实在这等了,同样用户B要等用户A释放表A才能继续这就死...

探讨SQL Server并发处理存在就更新七种解决方案

本节我们来讲讲并发中最常见的情况存在即更新,在并发中若未存在行记录则插入,此时未处理好极容易出现插入重复键情况,本文我们来介绍对并发中存在就更新行记录的七种方案并且我们来综合分析最合适的解决方案。首先我们来创建测试表IFOBJECT_ID('Test')ISNOTNULLDROPTABLETestCREATETABLE...

Entity Framework查询,EF执行SQl

EF支持开放底层的ADO.NET框架,DbContext有三种常用方法DbSet.SqlQuery                //查询并返回EntitiesDbContext.Database.SqlQuery<T>  //执行某一个查询,并可以将返回集转换为某一对象DbContext.Database...

查看sqlserver被锁的表以及如何解锁

查看被锁表:select  request_session_id  spid,OBJECT_NAME(resource_associated_entity_id)tableName   from  sys.dm_tran_lock...

sql server 执行计划(execution plan)介绍

大纲:目的介绍sqlserver 中执行计划的大致使用,当遇到查询性能瓶颈时,可以发挥用处,而且带有比较详细的学习文档和计划,阅读者可以按照我计划进行,从而达到对执行计划一个比较系统的学习。什么是sqlserver执行计划sqlserver执行计划的大致使用学习计划 1.什么是sqlserver执行...

SQL使用技巧

USEmaster;GODECLARE@SQLVARCHAR(MAX);SET@SQL=''SELECT@SQL=@SQL+';KILL'+RTRIM(SPID)FROMmaster..sysprocessesWHEREdbid=DB_ID('数据库名');EXEC(@SQL);ALTERDATABASE数据库名SET...
代码星球 ·2020-05-16

SQL Server创建复合索引时,复合索引列顺序对查询的性能影响

写索引的博客太多了,一直不想动手写,有一下两个原因:一是觉得有炒剩饭的嫌疑,有兄弟曾说:索引吗,只要在查询条件上建索引就行了,真的可以这么暴力吗?二来觉得,索引是个非常大的话题,很难概括出所有的情况,你不整出点新意来,倒是有抄袭照搬的嫌疑既然写了,就写一点稍微不一样的东西出来,好了,废话打住,开搞 搭建测试环...

必须掌握的30种SQL语句优化

1.’对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:...

SQL Server 表分区之水平表分区

什么是表分区?表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表;而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字段进行关联。 表分区分为以下五个步骤:1、创建文件组2、创建数据文件3、创建分区函数4、创建分区方案5、创建分区...
代码星球 ·2020-05-16

sql server 小记——分区表(上)

我们知道很多事情都存在一个分治的思想,同样的道理我们也可以用到数据表上,当一个表很大很大的时候,我们就会想到将表拆分成很多小表,查询的时候就到各个小表去查,最后进行汇总返回给调用方来加速我们的查询速度,当然切分可以使用横向切分,纵向切分,比如我们最熟悉的订单表,通常会将三个月以外的订单放到历史订单表中,这里的三个月就是...
代码星球 ·2020-05-16

Sql Server系列:分区表操作

1.分区表简介  分区表在逻辑上是一个表,而物理上是多个表。从用户角度来看,分区表和普通表是一样的。使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性。  分区表是把数据按设定的标准划分成区域存储在不同的文件组中,使用分区可以快速而有效管理和访问数据子集。1.1>适合做分区表的情况  ...

sqlserver学习笔记(三)—— 为数据库添加新的用户

首先,用windows或sa身份登录sqlserver, 打开安全性——登录名——右键新建登录名;在选择页——常规中,新建命为user_b的登录名,选择sqlserver身份验证方式,设置密码确认密码,不勾选强制实施密码策略;下一步选择用...

SqlServer2005 海量数据 数据表分区解决难题

超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。这些问题都可以通过对大表进行合理分区得到很大的改善。当表和索引变得非常大时,分区...

SQL数据缓存依赖总结

以前只听过SQLserver数据缓存依赖,但一直没使用,由于项目需要,才研究了一番,发现了一个很诡异的问题,竟然是一个操作顺序问题导致的。 SQLserver数据缓存依赖有两种实现模式,轮询模式,通知模式。   1 轮询模式实现步骤   &...

Entity Framework Code First执行SQL语句、视图及存储过程

2、EntityFrameworkCodeFirst执行SQL语句  在使用EntityFrameworkCodeFirst时,当需要直接执行SQL时,可以使用SqlQuery方法。SqlQuery方法采用属性名即列名的方法进行映射查询,要求返回的查询结果均有完全对应的类属性。  1>、已定义的表映射类查询usi...
首页上一页...647648649650651...下一页尾页