-
GridView自定义分页的四种存储过程
1.为什么不使用GridView的默认分页功能首先要说说为什么不用GridView的默认的分页功能,GridView控件并非真正知道如何获得一个新页面,它只是请求绑定的数据源控件返回适合规定页面的行,分页最终是由数据源控件完成。当我们使用SqlDataSource或使用以上的代码处理分页时...
数据库操作教程 2022-09-23 16:53:49 -
Cont()与Where().Count()有时性能差别如此之大!
想起我之前在此列表中加入了一个字段,用于方便提示管理员公司的产品列表是否有修改之类的状态字段,于是可以断定是加了此字段的原因。首先,先看看我之前是如何写这个提示状态字段的,实体中加入ContentStatus,然后直接在Linq语句中Select实体对象中加入ContentStatus=Product_Maintain.Count(C=>C.CompanyID==company.ID&&C.IsDeleted==0&&(C.AuditStatus==0||C.AuditStatus==4))>0?"产品有更新":""...
数据库操作教程 2022-09-23 16:52:48 -
deletefrom表名与truncatetable表名区别
1.delete不能使自动编号返回为起始值。但是truncate能使自动增长的列的值返回为默认的种子2.truncate只能一次清空,不能按条件删除...
数据库操作教程 2022-09-23 16:49:22 -
SqlServer2012分页方法分析(offsetandfetch)
其中offsetandfetch最重要的新特性是用来分页,既然要分析分页,就肯定要和之前的分页方式来比较了,特别是Row_Number()了,在比较过程中,发现了蛮多,不过最重要的,通过比较本质,得出了优劣,也和大家一起分享下。准备工作,建立测试表:Article_Detail,主要是用来存放一些文章信息,测试的时间,都是从网易上面转载的新闻,同时,测试表数据字段类型是比较均匀的,为了更好的测试,表结构如下图: 内容:数据量:129,991条记录语法分析1.NTILE()的分页方法NTILE()方法可以用来分页,但是应用场景十分的狭窄,并且性能差劲,和Row_Number()与offsetfetch分页比起来没有任何优势,也只有在只读表上面分页的话,还是比较合适的;虽然不好用,但是还能来分页的,所以只简单的介绍下...
数据库操作教程 2022-09-23 16:48:35 -
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 -
一个删选数据的例子,使用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 -
使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
1)创建配置文件和帐户(创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户。) 打开数据库服务器------管理-------数据库邮件------右键---配置数据库邮件(同时也可以看到管理已经配置好的邮件账户和配置文件) 这里的配置文件名,在使用sp_send_dbmail时会作为参数使用点“添加” 其中,账户名可以任意指定(描述功能即可),重点是邮件发送服务器(SMTP)的配置:电子邮件地址为发送方邮件地址,显示名称为发送方名称,答复电子邮件(可以同电子邮件地址相同),服务器名称为服务器发送服务器(eg:QQ的为smtp.exmail.qq.com)端口号不变;SMTP身份验证:基本身份验证(配置自己的邮件发送方地址和密码)...
数据库操作教程 2022-09-23 16:45:51 -
Windows下使用性能监视器监控SqlServer的常见指标
上边文章中提到win的性能监视器是监控数据库性能必备的工具,接下来我就给大家介绍一些常见的监控指标,其实无非就是磁盘,cpu,内存等硬件的运行指标还有数据库自身的像锁啊、用户连接数啊、还有就是根据自身业务决定的需要注意的参数指标。1.SQLServerBuffer:BufferCacheHitRatio 这是一个很重要查看内存是否不足的参数...
数据库操作教程 2022-09-23 16:45:42 -
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 -
SQL语句之Union和UnionAll的用法
SQL中Union和Join语句非常类似,但是Union有一个限制条件:两个SQL语句所产生的栏位需要是同样的资料种类,最后的结果会看到不同的资料值。格式:[SQL语句1]UNION[SQL语句2]例如:表store_info和表internet_sales使用Union语句:复制代码代码如下:SELECTDateFROMStore_InfoUNIONSELECTDateFROMInternet_Sales结果:或:复制代码代码如下:SELECTDate,SalesFROMStore_InfoUNIONSELECTDate,SalesFROMInternet_Sales结果:最后,UnionAll和Union基本一样,区别在于它的结果是含有重复数据的如:复制代码代码如下:SELECTDateFROMStore_InfoUNIONALLSELECTDateFROMInternet_Sales结果:以上就是SQL语句之Union和UnionAll的用法的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家...
数据库操作教程 2022-09-23 16:44:03 -
SQLServer怎么找出一个表包含的页信息(Page)
前言在SQLServer中,如何找到一张表或某个索引拥有那些页面(page)呢?有时候,我们在分析和研究(例如,死锁分析)的时候还真有这样的需求,那么如何做呢?SQLServer2012提供了一个无文档的DMF(sys.dm_db_database_page_allocations)可以实现我们的需求,sys.dm_db_database_page_allocations有下面几个参数: @DatabaseId: 数据库的ID,可以用DB_ID()函数获取某个数据库或当前数据库的ID @TableId: 表的ID。我们可以使用OBJECT_ID()函数通过表名获取表ID...
数据库操作教程 2022-09-23 16:43:51