-
编写SQL需要注意的细节Checklist总结
复制代码代码如下:/*--注意:准备数据(可略过,非常耗时)CREATETABLECHECK1_T1(IDINT,C1CHAR(8000))CREATETABLECHECK1_T2(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK1_T1SELECT@I,'C1'INSERTINTOCHECK1_T2SELECT10000+@I,'C1'SET@I=@I+1ENDCREATETABLECHECK2_T1(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK2_T1SELECT@I,'C1'SET@I=@I+1ENDINSERTINTOCHECK2_T1VALUES(10001,'C2')INSERTINTOCHECK2_T1VALUES(10002,'C1')CREATETABLECHECK3_T1(IDINT,C1CHAR(7000))CREATETABLECHECK3_T2(IDINT...
数据库操作教程 2022-09-23 16:48:48 -
SQL中Group分组获取TopN方法实现可首选row_number
有产品表,包含id,name,city,addtime四个字段,因报表需要按城市分组,统计每个城市的最新10个产品,便向该表中插入了100万数据,做了如下系列测试:复制代码代码如下:CREATETABLE[dbo].[products]([id][int]IDENTITY(1,1)NOTNULL,[name][nvarchar](50)NULL,[addtime][datetime]NULL,[city][nvarchar](10)NULL,CONSTRAINT[PK_products]PRIMARYKEYCLUSTERED([id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]1、采用row_number方法,执行5次,平均下来8秒左右,速度最快。复制代码代码如下:selectno,id,name,cityfrom(selectno=row_number()over(pa...
数据库操作教程 2022-09-23 16:47:47 -
安装sqlserver2000时出现wowexec.exe无反应的解决方法
wowexec.exe是操作系统相关程序,用于支持16位进程。 出品者:MicrosoftCorp. 属于:MicrosoftWindowsOnWindowsExecutionProcess 系统进程:是 后台程序:否 使用网络:否 硬件相关:否 常见错误:未知N/A 内存使用:未知N/A 安全等级(0-5):0 间谍软件:否 Adware:否 病毒:否 木马:否 ※解释: 一直以来大家认为这是WINDOWS的自动更新程序,只要关闭自动更新就不会再出现...
数据库操作教程 2022-09-23 16:47:18 -
SQLcursor用法实例
复制代码代码如下:DECLARE@OldIdvarchar(50) DECLARE@CustomerIDvarchar(50) DECLAREMy_CursorCURSOR--定义游标 FOR(selectCustomerID,oldidfromCustomerwhereArea='bj')--查出需要的集合放到游标中 OPENMy_Cursor;--打开游标 FETCHNEXTFROMMy_CursorINTO@CustomerID,@OldId;--读取第一行数据 WHILE@@FETCH_STATUS=0 BEGIN DECLARE@OtherProVARCHAR(500)  ...
数据库操作教程 2022-09-23 16:46:50 -
一个删选数据的例子,使用GROUP、DISTINCT实例解析
需求描述:一个表MyImage,列有:号码ID,路径PATH如:ID PATH1 C:/1 C:/1 D:/2 C:/2 C:/3 A:/3 C:/4 D:/写个SQL语句,返回这样的记录的ID号:相同ID存在不同PATH。如上例子,正确的结果应是:ID13(ID2没有不同PATH,ID4只有一条记录不存在不同PATH) 这是我的SQL语句:复制代码代码如下:selectIDfrom[MyImage]asA groupbyID having ( selectCOUNT(distinct(Path))from[MyImage]asBwhereB.ID=A.ID ) >1...
数据库操作教程 2022-09-23 16:46:43 -
insertintoselect和selectinto的使用和区别介绍
insertinto...select...:可将表1中的全部数据或者部分数据复制到表2中。eg:复制代码代码如下:insertintot2(id,name,pwd)selectid,name,pwdfromt1注:t2必须存在...
数据库操作教程 2022-09-23 16:46:36 -
Selectcount(*)、Count(1)和Count(列)的区别及执行方式
在SQLServer中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的...
数据库操作教程 2022-09-23 16:45:13 -
探讨selectin在postgresql的效率问题
在知乎上看到这样一个问题:MySQL查询select*fromtablewhereidin(几百或几千个id)如何提高效率?修改电商网站,一个商品属性表,几十万条记录,80M,索引只有主键id,做这样的查询如何提高效率?select*fromtablewhereidin(几百或几千个id)这些id没啥规律,分散的。...
数据库操作教程 2022-09-23 16:44:40 -
SQLServer2016里的sys.dm_exec_input_buffer的问题
我们都知道DBCC命令有点尴尬,因为你不能在T-SQL查询里调用它们,你也不能关联它们的输出到其它DMV/DMF。例如你想为每个用户会话返回最后一个执行的SQL语句....sys.dm_exec_input_buffer在SQLServer2016里,事情就变得简单多,因为微软为你提供了一个新DMFsys.dm_exec_input_buffer,它和DBCCINPUTBUFFER一样做同样的工作...
数据库操作教程 2022-09-23 16:44:14 -
mybatiscollection多条件查询的实现方法
mybatiscollection多条件查询的实现方法前言:业务需要通过mybatis查询返回嵌套集合,嫌多次查询太麻烦,用自带的高级查询解决问题,下边是代码,已测试通过。说下自己的理解,就是一个主查询结果集里面嵌套了子查询的结果集,可以是多个子查询,每个子查询的条件从主查询结果集中获取,返回值各自定义...
数据库操作教程 2022-09-23 16:43:37 -
SQLserver数据库创建代码filegroup文件组修改的示例代码
数据库的操作:1.对数据文件的操作(添加,删除,修改文件的初始大小,最大大小,步长)2.数据库文件的收缩3.数据库的只读/读写 read_only只读 read_write可读写 read_only表示只读 read_write表示可读可写4.数据库的限制访问(单用户,多用户,限制用户模式)5.数据库脱机/联机 offline 脱机alterdatabaselovesetoffline online联机 alterdatabaselovesetonline 6.数据库附加/分离。 sp_attach_db 附加 SP_detach_db分离 附加sp_attach_db分离sp_detach_db offline脱机online联机本文重点给大家介绍SQLserver数据库创建代码filegroup文件组修改,实例代码...
数据库操作教程 2022-09-23 16:43:03 -
SQLServer中的SELECT会阻塞SELECT吗
前言在SQLServer中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS)与共享锁(S),例如我使用SQLProfile跟踪会话86执行SELECT*FROMdbo.TESTWHEREOBJECT_ID=1这个查询语句,其申请、释放的锁资源的过程如下所示:而且从最常见的锁模式的兼容性表,我们可以看到IS锁与S锁都是兼容的,也就是说SELECT查询是不会阻塞SELECT查询的。现有的授权模式请求的模式ISSUIXSIXX意向共享 (IS)是是是是是否共享 (S)是是是否否否更新 (U)是是否否否否意向排他 (IX)是否否是否否意向排他共享(SIX)是否否否否否排他 (X)否否否否否否但是在某些特殊场景...
数据库操作教程 2022-09-23 16:42:50