-
sql-server – 对表的大改动有什么好处:每次DELETE和INSERT或UP
所属栏目:[MsSql教程] 日期:2021-01-08 热度:93
我正在制作一个项目,我需要每天在一张桌子上更改大约36K记录.我想知道什么会更好: 删除行并插入新行,或 更新已存在的行 对我来说,删除所有行并插入新行更容易,但如果要将表和索引分段并影响性能,那么我希望尽可能进行更新,并在必要时删除/插入. 这将是一个夜[详细]
-
sql-server – 在运行性能比较之前清除缓存的SQL Server命令
所属栏目:[MsSql教程] 日期:2021-01-08 热度:85
在比较两个不同查询的执行时间时,清除缓存以确保第一个查询的执行不会改变第二个查询的性能非常重要. 在Google搜索中,我可以找到以下命令: DBCC FREESYSTEMCACHEDBCC FREESESSIONCACHEDBCC FREEPROCCACHE 事实上,我的查询在几次执行之后比以前更加真实.但是,[详细]
-
编写Postgres获取或创建SQL查询
所属栏目:[MsSql教程] 日期:2021-01-08 热度:129
我想编写一个Postgres SQL语句,说明寻找具有颜色X和亮度Y的用户.如果该用户存在,则返回其所有行数据.如果没有,请创建一个新行并传递其他信息.两个单独的语句将执行以下操作: Select (color,brightness,size,age) FROM mytable WHERE color = 'X' AND brightn[详细]
-
sql-server – 从备份失败的SQL Server 2005还原
所属栏目:[MsSql教程] 日期:2021-01-08 热度:79
我有.bak文件,用于我公司最近接管的项目数据库. 我能够恢复几个.bak文件,但最重要的是失败. 当它失败时,我只是得到一般错误,并要求检查日志. 这是发生的错误: 信息 SQL Server断言:文件:,行= 1443失败断言=’pFile’.此错误可能与时间有关.如果在重新运行[详细]
-
sql-server – SQL表大小和查询性能
所属栏目:[MsSql教程] 日期:2021-01-08 热度:120
我们有一些来自网络服务的项目;每个项目包含未知数量的属性.我们将它们存储在具有以下Schema的数据库中. 项目 – ItemID – 项目名 属性 – PropertyID – PropertyName – 适当的价值 – PropertyValueType – TransmitTime – ItemID [fk] 每次调用Web服务[详细]
-
sql-server – 在哪里使用外部应用
所属栏目:[MsSql教程] 日期:2021-01-08 热度:66
主表 x------x--------------------x| Id | Name |x------x--------------------x| 1 | A || 2 | B || 3 | C |x------x--------------------x 详细信息表 x------x--------------------x-------x| Id | PERIOD | QTY |x------x--------------------x-------x|[详细]
-
sql-server – 分配更多CPU和RAM后,SQL Server性能降低
所属栏目:[MsSql教程] 日期:2021-01-08 热度:90
我们在虚拟 Windows 2008 R2服务器上运行SQL Server 2008 R2(10.50.1600).在将CPU从1核升级到4并将RAM从4 gb升级到10 gb后,我们发现性能更差. 我看到一些观察结果: 花费5秒运行的查询现在花费 200秒. CPU被钉在100,sqlservr.exe是罪魁祸首. 具有460万行的表[详细]
-
sql – 访问2007中的switch的默认值
所属栏目:[MsSql教程] 日期:2021-01-08 热度:51
我在access 2007中使用switch语句,我想知道如何指定默认值 select switch ( MyCol = 1,'Value is One',MyCol = 2,'Value is Two' ) from MyTable 谢谢 解决方法 SELECTSwitch(MyTable.[MyCol]='1','Terrestrial',MyTable.[MyCol]='2','Value is two',MyTable.[详细]
-
这个日期比较条件在SQL中是否可以SARG?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:108
这种情况是否可以接受? AND DATEDIFF(month,p.PlayerStatusLastTransitionDate,@now) BETWEEN 1 AND 7) 我的经验法则是左边的一个函数使条件不可思议..但在某些地方我已经读过BETWEEN子句是sargable. 那么任何人都知道吗? 以供参考: What makes a SQL stat[详细]
-
sql-server – 为什么这些字符在SQL Server中都是相同的?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:84
我只是不明白.看到这个SQL查询: select nchar(65217) -- ?select nchar(65218) -- ?select nchar(65219) -- ?select nchar(65220) -- ?if nchar(65217) = nchar(65218) print 'equal'if nchar(65217) = nchar(65219) print 'equal'if nchar(65217) = nchar(6[详细]
-
在SQL中返回空表的首选方法是什么?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:83
我知道我可以使用以下查询返回一个空表: select * from tbFoo where 1=2 但是那段代码对我来说并不好看. 有这种“标准”方式吗? 如果你想知道我为什么要做这么奇怪的事情,那是因为I can’t name the datatables I return from a stored procedure,所以我需[详细]
-
sql-server – 与事务组合触发
所属栏目:[MsSql教程] 日期:2021-01-08 热度:166
假设我们有以下情况: 我们有一个表(比如Table_A),它在INSERT上有一个触发器.触发器作业是根据table_A中插入的值更新table_B中的某些行. 现在,当我们在表中简单地插入一行时,一切正常,但是我们通过事务插入数据的情况呢?触发器是否会等到所有事务语句成功运[详细]
-
sql-server-2005 – 如何停止并重新启动sql server 2005?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:200
是否有命令行甚至通过sql server studio优雅地停止SQL Server 2005? 解决方法 正如mfinni所说,net stop mssqlserver或类似的将从命令行执行.要添加它,从SSMS中的GUI,您可以右键单击实例名称并单击“停止”. 您还可以从SQL Configuration Manager应用程序停止[详细]
-
sql-server – 如何有效地检查多列上的EXISTS?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:50
这是我定期遇到的一个问题,还没有找到一个好的解决方案. 假设有以下表结构 CREATE TABLE T(A INT PRIMARY KEY,B CHAR(1000) NULL,C CHAR(1000) NULL) 并且要求是确定可空列B或C中的任何一个实际上是否包含任何NULL值(如果是,则确定哪一个()). 还假设该表包含[详细]
-
sql-server – 我的SQL Server是否已修补?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:62
如何判断我的SQL Server实例是否已修补?是否有本机功能可以识别我的服务器是否有可用的补丁?哎呀,我甚至可以获得版本数据吗? 解决方法 以相反的顺序回答 我的版本是什么? 我使用两种不同的查询来标识我的SQL Server级别. 第一个是@@version.关于这一点的[详细]
-
sql-server-2008 – 数据库的mdf文件的位置
所属栏目:[MsSql教程] 日期:2021-01-08 热度:53
我有一个数据库项目.我的问题是我在哪里可以找到我的数据库的.mdf和_log.ldf,以便我可以将我的数据库传输给另一个用户.我正在使用Microsoft SQL Server 2008 Management Studio 我的Ssms.exe存储在此路径中 C:Program FilesMicrosoft SQL Server100Tools[详细]
-
sql-server – 如果我选择超过15个字段,我会遇到灾难性的失败
所属栏目:[MsSql教程] 日期:2021-01-08 热度:72
使用sql server 2012我正在使用Pervasive SQL连接到链接服务器. 当我选择*或选择field1,field2,field3 …. field15我收到此错误: Msg 7399,Level 16,State 1,Line 1The OLE DB provider "MSDASQL" for linked server "KSLAP208" reported an error. The prov[详细]
-
sql-server – SQL Server审计跟踪的最佳实践
所属栏目:[MsSql教程] 日期:2021-01-08 热度:54
我今天面临的情况是,如果我们知道谁登录了SQL并执行了一些删除操作,对我和我的公司都会非常有益. 我们遇到这样的情况,即至少有2人(有时3人)使用SQL Server Management Studio登录SQL,并执行各种功能. 我们需要的是审计线索.如果有人删除了记录(错误或其他),我[详细]
-
数据库设计 – 如何将IS-A关系映射到数据库?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:81
考虑以下: entity User{ autoincrement uid; string(20) name; int privilegeLevel;}entity DirectLoginUser{ inherits User; string(20) username; string(16) passwordHash;}entity OpenIdUser{ inherits User; //Whatever attributes OpenID needs... I d[详细]
-
sql-server – 强制SET IDENTITY_INSERT从MS Access更快地生效
所属栏目:[MsSql教程] 日期:2021-01-08 热度:79
我正在努力将一套MS Access后端数据库升级到SQL Server.我编写了SQL脚本来在SQL Server中创建表模式.现在我正在尝试填充表格.大多数表都有自动编号主键.这是我的一般方法: For each TblName in LinkedTableNames 'Create linked table "temp_From" that link[详细]
-
sql-server – 为什么扫描比寻找这个谓词更快?
所属栏目:[MsSql教程] 日期:2021-01-08 热度:198
我能够重现一个我将其描述为意外的查询性能问题.我正在寻找一个专注于内部的答案. 在我的机器上,以下查询执行聚簇索引扫描并占用大约6.8秒的CPU时间: SELECT ID1,ID2FROM two_col_key_test WITH (FORCESCAN)WHERE ID1 NOT IN(N'1',N'2',N'3',N'4',N'5',N'6',[详细]
-
sql-server – 语法不正确:创建过程必须是批处理中的唯一语句
所属栏目:[MsSql教程] 日期:2021-01-08 热度:69
之前已经问过这个问题,但所有涉及使用“go”,我不需要这里,至少我是这么认为的. 我跟随这个tut https://www.youtube.com/watch?v=-xMGwiV5A6o,接近1:25标记.他似乎执行而我的没有. Select * From Snacks Create Proc spGetSnackByID @Id int as Begin Select[详细]
-
sql-server-2008 – SQL Server Max Memory不限制使用RAM
所属栏目:[MsSql教程] 日期:2021-01-08 热度:141
我希望你对此有所了解.我有一个sql server 2008r2 Ent.埃德. 64位,16核,64GB RAM.截至20111014,有一个SQL服务器实例已完全修补. 最大内存设置为60000MB.根据任务经理在线几天后,免费ram的数量为0. 如果我将max ram更改为低于53GB,它将在几天后稳定并有一些免[详细]
-
sql-server – SQL Server – 处理嵌套的非确定性视图堆栈中字符
所属栏目:[MsSql教程] 日期:2021-01-08 热度:59
在分析数据库时,我遇到了一个视图,该视图引用了一些非确定性函数,每个连接在此应用程序池中每分钟访问1000-2500次.视图中的简单SELECT产生以下执行计划: 这似乎是一个复杂的计划,一个不到一千行的视图,每隔几个月就会看到一行或两行.但随着以下其他纪念活动,[详细]
-
sql-server-2008 – SQL大表设计
所属栏目:[MsSql教程] 日期:2021-01-08 热度:164
我有一个关于SQL Server 2008表设计的一般问题.我们目前有一张超过600GB的桌子,每天增长约3GB.此表具有适当的indecies,但在运行查询时仅因其大小而成为主要的挂起.问题是我应该按年和月将表拆分成多个表(这适用于其他部门如何拆分其大型数据集),还是应该利用S[详细]