一、数据查询部分

1、 看到执行计划有两种方式,对sql语句按Ctrl+L,或按Ctrl+M打开显示执行计划窗口每次执行sql都会显示出相应的执行计划

2、 执行计划的图表是从右向左看的

3、 SQL Server有几种方式查找数据记录

[Table Scan] 表扫描(最慢),对表记录逐行进行检查

[Clustered Index Scan] 聚集索引扫描(较慢),按聚集索引对记录逐行进行检查

[Index Scan] 索引扫描(普通),根据索引滤出部分数据在进行逐行检查

[Index Seek] 索引查找(较快),根据索引定位记录所在位置再取出记录

[Clustered Index Seek] 聚集索引查找(最快),直接根据聚集索引获取记录

(如果有些sql执行很慢可以看一下执行计划是否包含太多“扫描”操作,如果有可以考虑为这些字段建立索引,建立索引切记不要再经常有更新操作的字段上建立,每次更新都会导致重建索引的操作,也会影响性能,0或1这种标识状态的字段因为大部分数据都是一样的建立索引也没有什么作用)

(索引就两种,1是聚集索引,2个非聚集索引,聚集索引每张表只能有一个,非聚集索引每张表可以有多个,主键Id就是典型的聚集索引,聚集索引是顺序排列的类似于字典查找拼音a、b、c……和字典文字内容顺序是相同的,非聚集索引与内容是非顺序排列的,类似字典偏旁查找时,同一个偏旁‘马’的汉字可能一个在第10页一个在第100页)

4、  

⑴没有主键的表查询[表扫描]

⑵有主键的表查询[聚集索引扫描]

⑶建立非聚集索引的表查询[索引扫描+书签查找]

书签查找:通过非聚集索引找到所求的行,但这个索引并不包含显示的列,因此还要额外去基本表中找到这些列,所以要进行键查找,如果基本表在堆中则Key Lookup会变成RID查找,这两个查找统称为书签查找。

⑷建立非聚集索引并把其他显示列加入索引中[索引查找]

⑸建立非聚集索引并把其他显示列加入索引中并把聚集索引列当作条件[聚集索引查找]

最新文章

  1. html
  2. 【poj2409】 Let it Bead
  3. DIV未知宽度高度垂直水平居中
  4. 【腾讯Bugly干货分享】深度学习在OCR中的应用
  5. net异步线程注意事项
  6. Objective-C语法汇总
  7. 关于Eclipse中的egit的常规使用和模板
  8. ORACLE CASE函数 .
  9. Qt5制作鼠标悬停显示Hint的ToolTip
  10. TCP滑动窗口控制流量的原理
  11. 复写equals、hashCode和toString方法
  12. android binder理解
  13. 用Hyperledger Fabric(超级账本)来构建Java语言开发区块链的环境
  14. PuppeteerSharp+AngleSharp的爬虫实战之汽车之家数据抓取
  15. An owner of this repository has limited the ability to open a pull request to users that are collaborators on this repository.
  16. win32gui.Findwindow(parm1,parm2)查找窗口的句柄方法
  17. Vue基础(ES6)
  18. The Code analysis of the FFDNet model
  19. String、StringBuffer、StringBuilder区别
  20. iOS开发 2x 3x图

热门文章

  1. chrome开发工具指南(十三)
  2. HTML语言笔记
  3. 文件系统的几种类型:ext3, s…
  4. 交换机端口呈现err-disable的原因
  5. 网络传输编程之TCP
  6. MPLS LDP随堂笔记2
  7. 团队作业10——复审和事后分析(Beta版本)
  8. 201521123067 《Java程序设计》第7周学习总结
  9. 201521123045java课程设计---定时器
  10. java课程设计——猜数游戏个人博客