-
SQLServer数据页缓冲区的内存瓶颈分析
SQLServer会把经常使用到的数据缓存在内存里(就是数据页缓存),用以提高数据访问速度。因为磁盘访问速度远远低于内存,所以减少磁盘访问量同样是数据库优化的重要方面...
数据库操作教程 2022-09-23 16:48:18 -
优化SQLServer索引的小技巧
在本文中,我将说明如何用SQLServer的工具来优化数据库索引的使用,本文还涉及到有关索引的一般性知识。 关于索引的常识 影响到数据库性能的最大因素就是索引...
数据库操作教程 2022-09-23 16:48:14 -
SQL中having和where的区别分析
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果...
数据库操作教程 2022-09-23 16:48:12 -
SQLSERVER如何判断某个字段包含大写字母
sql语句中默认是不区分大小写的,所以语句:Sql代码SELECT*FROMRecEngineBizInfoWHERERecEngineBizName='QQ'和Sql代码SELECT*FROMRecEngineBizInfoWHERERecEngineBizName='qq'查到的结果是一样的。要查看某个字段是否包含大写字母A的脚本为:Sql代码select*fromRecEngineBizInfowhereRecEngineBizNamecollateChinese_PRC_CS_AS_WSlike'%A%'www.jb51.net要查看某个字段是否包含大写字母的脚本为:Sql代码SELECT*FROMRecEngineBizInforebiWHERErebi.RecEngineBizNameCOLLATEChinese_PRC_CS_ASlike'%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'要查看某个字段是否包含连续两个大写字母的脚本为:Sql代码SELECT*FROMRecEngineAttributeInforeaiWHEREreai.ZhiLingCOLL...
数据库操作教程 2022-09-23 16:48:02 -
SQLSERVER中得到执行计划的两种方式
得到执行计划的方式有两种:1、一种是在指令的前面打开一些开关,让执行计划信息打在结果集里,这种方法比较适合在一个测试环境里对单个语句调优。这些开关最常用的有复制代码代码如下:SETSHOWPLAN_ALLONSETSHOWPLAN_ALLON--(是不是reuse了一个执行计划,SQSERVERL有没有觉得缺少索引),只能在XML的输出里看到SETSTATISTICSPROFILEON还有如果使用SSMS的话,可以用快捷键:Ctrl+L小写L他会执行你的语句并显示执行计划,但是不会返回结果集 2、另一种方法是使用SQLTrace里的事件跟踪来跟踪语句的执行计划...
数据库操作教程 2022-09-23 16:48:00 -
SQLServer导出sql文件/表架构和数据操作步骤
很多朋友问到sqlserver数据库”生成脚本”,只导出了数据库的sql脚本,而表里的数据依然没有导出来。很简单,看教程:注:我这里用的SQLServer2008,其它版本应该差不多...
数据库操作教程 2022-09-23 16:47: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 -
having的用法以及与where区别介绍
having的用法having子句可以让我们筛选成组后的各种数据,having子句在查询过程中慢于聚合语句(sum,min,max,avg,count).而where子句在查询过程中则快于聚合语句(sum,min,max,avg,count)。SQL实例:一、显示每个地区的总人口数和总面积.复制代码代码如下:SELECTregion,SUM(population),SUM(area)FROMbbcGROUPBYregion先以region把返回记录分成多个组,这就是GROUPBY的字面含义...
数据库操作教程 2022-09-23 16:47:44 -
关于SQLServer查询语句的使用
一.查询第二个字母是t或者a的雇员的全部信息复制代码代码如下: select* fromemployees wherefirstnamelike'_[t,a]%'注意:在sql中%表示字符串,所以不可像matlab一样用其注释,两个双斜线好像也不行,/**/可以,有网友说sql单行注释为--二.更改字段名复制代码代码如下: select'名字'=firstname,'姓氏'=lastname fromemployees wherefirstnamelike'_[t,a]%'或者复制代码代码如下: select firstnameas'名字',lastnameas'姓氏' fromemployees wherefirstnamelike'_[t,a]%'三.top关键字复制代码代码如下: /*检索出符合条件的前70%条记录*/ select top70percentfirstnameas'名字',lastnameas'姓氏' fromemployee...
数据库操作教程 2022-09-23 16:47:41 -
SQLServer控制语句的基本应用
1.语句块(BEGIN…END)语句块语法如下: BEGIN <SQL语句或程序块> ENDBEGIN…END用来设定一个语句块,可以将多条Transact-SQL语句封装起来构成一个语句块,在处理时,整个语句块被视为一条语句。BEGIN…END经常用在条件语句中,如IF…ELSE或WHILE循环中...
数据库操作教程 2022-09-23 16:47:34 -
sqlserver数据库使用存储过程和dbmail实现定时发送邮件
上文已讲过如何在数据库中配置数据库邮件发送(备注:数据库邮件功能是基于SMTP实现的,首先在系统中配置SMTP功能。即在“添加/删除程序”面板中“增加/删除WINDOWS组件”,选中并双击打开"IIS"或“应用程序”,勾选"SMTPSERVICE"然后一路点“下一步”即可...
数据库操作教程 2022-09-23 16:47:34