热搜:微信 游戏 亮相 内存仅 抢不到 风林火山 电脑公司 王者荣耀 王者荣耀 万能装机 系统 xp 电脑公司 浏览器 一键重装 蜘蛛侠 快手 win7 fix realtek 微信 游戏 office mumu模拟器 微软电脑管家 22H2 secoclient 11 11 11 开始菜单 WingetUI 腾讯电脑管家 打印机 应用商店 谷歌浏览 批量下载 中国建设银行 win1032位 龙信 系统 Outlook AutoCAD 2023 Fix 迅雷 系统大师 装机大师 win7系统 WIFI sscom wps 采集 启动 植物大战僵尸 驱动人生 腾讯QQ V9.7.20 优酷 输入法 抖音 三只羊 短视频 qq 快手 系统 迅雷 注册表 学习通 红警
1、新的FORCESCAN查询提示
任何DBA在进行查询优化的时候,都知道scan和seek之间的区别。Scan是指读取表中每一行数据然后返回查询;而seek使用表的叶数据来找到能够回答相同查询的行。当查询结果仅涉及到表数据的10-15%时,通常使用seek方式会比较好,当涉及到大量数据时则使用scan,它会读取整个表然后送到内存中然后返回结果,无需分析索引。
(1)、新的FORCESCAN提示功能就和字面上的意思一样,可以确保查询优化器在给定的操作中不使用seek,而强制使用scan。需要提醒的是,FORCESCAN需要谨慎使用,否则会造成查询性能降低的后果:
(2)、SELECT user_type FROM user_table WITH (FORCESCAN)
上面的语句假定user_type列相对来说并不是独一无二的,也就是所谓的“低基数”列,这时候使用FORCESCAN就和使用索引没有太大差别。
(3)、随着SQL Server查询优化器变得越来越强大,我在自己的程序中已经很少会用到这种提示功能,但是FORCESCAN还是有它的用武之处。强制表扫描是对系统进行拷问测试的一种方法,FORCESCAN在这方面将会发挥积极的作用。
2、FORCESEEK查询提示的新功能
(1)、FORCESEEK和FORCESCAN二者是截然相反的,它会强制数据库使用seek。在之前的版本中也存在这一功能,但是在SQL Server 2008 R2 SP1中,DBA可以使用FORCESEEK来指定需要seek的索引或者列:
(2)、SELECT user_name FROM user_table;
(3)、WITH (FORCESEEK(user_table_index(user_name));
(4)、如果你能够想到的,在user_table上有一个索引叫做user_table_index,它将user_name作为其中的一列。这会强制查询优化器使用这个索引和列来进行seek。你还可以seek多个列,但是这需要按照它们在索引中的位置顺序来指明出来;
(5)、一个可能的应用场景:你创建了一个系统,其中生成索引后你想要手动进行详细的说明,或者是用存储过程以及内嵌SQL语句来自动生成。
3、新的系统对象
(1)、每当SQL Server有版本更新的时候,都会出现一些新的系统对象,用户每次都将它们挖掘出来然后记录到文档当中。下面就是SQL Server 2008 R2 SP1中一些新的系统对象。
(2)、sys.dm_os_volume_stats:当进行查询的时候,这个动态管理函数将返回存储数据库文件的磁盘信息。比如磁盘上还有多少可用空间,这个卷是否支持压缩。
(3)、sys.dm_os_windows_info:返回SQL Server运行的操作系统信息(哪个版本的Windows),其中包括了修订级别以及操作系统语言等。
(4)、sys.dm_server_registry:返回现安装的SQL Server相关注册信息。
(5)、sys.dm_server_services:返回SQL Server正在运行的服务状态,包括上次启动时间、服务是否运行在集群实例上等。
4、支持仿真(512e)硬盘
存储市场中目前正涌现出新的硬盘驱动器,其中之一就是使用所谓的“512e”格式的硬盘,仿真硬盘运用磁盘的4K扇区,但是在界面上模拟一个512字节的扇区硬盘。在TechTarget之前关于仿真硬盘对Windows Server影响的报道中,作者已经将该硬盘称为先进格式硬盘,而且它对于提升SQL Server这样应用性能方面有很大的优势。因此,微软在SP1中添加了对仿真硬盘的支持,它可以让Windows Server 2008 R2运行更好。
5、数据层应用组件架构(DAC Fx)
数据库架构管理是让每个DBA头痛的事情,但是SQL Server在这方面提供了不错的帮助。数据层应用组件(DAC)就是这样的一个工具:它让数据层对象(基本上就是数据库中所有的东西)写入和部署变得轻松起来。SP1包括了一个新的DAC Fx和DAC升级向导,这两个工具可以帮助SQL Server现有数据库架构进行升级,而且还支持微软新的云数据库平台SQL Azure。
6、SharePoint PowerPivot磁盘空间控制
(1)、微软PowerPivot数据往往会缓存在SharePoint中,但是DBA还是无法对缓存机制有一个比较直接的控制。SQL Server 2008 R2 SP1可以让DBA控制不活跃数据库在内存中缓存的时间,并对PowerPivot文件进行磁盘清理。如果你的系统中只有少量的PowerPivot数据,而且更改很少,你希望它能够长时间缓存在内存中,那么新的磁盘空间控制功能将会非常有帮助。
(2)、通过sys.sp_db_increased_partitions存储过程将一个表分成15000个分区。
(3)、sys.sp_db_increased_partitions存储过程可以使DBA能够针对一个特定的表设定increased_partitions。在之前的SQL Server版本中,DBA最多能够分成1000个分区,而新的SP1中最多则可以达到15000个分区。这是非常大的一个改进。
常使用代码
1、Select 字段列表 From 数据表
例:①、select id,gsmc,add,tel from haf (* 表示数据表中所有字段);
②、select 单价,数量,单价*数量 as 合计金额 from haf (As 设置字段的别名)。
2、Select … from … Where 筛选条件式
筛选条件式:①、字符串数据: select * from 成绩单 Where 姓名=‘李明’。
②、万用字符: select * from 成绩单 Where 姓名 like ‘李%’。
select * from 成绩单 Where 姓名 like ‘%李%’。
select * from 成绩单 Where 姓名 like ‘%李_’。
③、特殊的条件式:
⑴= / 》 / 《 / 《》 / 》= / 《=。
⑵AND(逻辑与) OR(逻辑或) NOT(逻辑非)。
⑶Where 字段名称 in(值一,值二)。
⑷Where 字段名称 Is Null / Where 字段名称 Is Not Null。
3、Select … from … group by 字段
SQL函数:
SELECT sex,count(id) as women from `user` group by ‘sex’。
函数名描述函数名描述。
AVG平均值Count计数。
MAX最大值MIN最小值。
Sum求和。
4、Select … from … Order by 字段列表 desc(倒,如果直接写为顺序)。
5、Select … from … LIMIT “.$start_rowno.”,“。($pagesize 1)。