当前位置: 代码迷 >> Sql Server >> 笔试的3道题目,有兴趣的进来看看
  详细解决方案

笔试的3道题目,有兴趣的进来看看

热度:47   发布时间:2016-04-27 11:43:11.0
笔试的三道题目,有兴趣的进来看看
引用TravyLee的贴子:
1,建立索引一定会减少查询时间吗?也就是提高查询效率
2,一个系统,你使用了一年后,系统响应突然变慢了,请分析变慢的原因
3,有一个很大的表,建立索引一般需要注意些什么,在什么字段合理??


1.如果单从字面上去抠字眼,当然是不一定,但建立合适的索引,一般情况是会提高查询效率的,当然T-sql用不用索引,还要看SQL Server计算出来的成本,而且SQL Server有时候还会生成不好的执行计划,就算有索引也不会使用它。

2.这个可能有很多,最容易出现的是由于数据的增多,缺失索引造成的性能下降会显同出来,还有就是对于线性增长的数据量,统计信息也会更新的越来越慢,导致执行计划变得很差。当然具体问题具体分析,需要排查,不仅是db方面,web应用程序池也可能会出故障,变慢首先要确定是app还是db,如果是db,需要看程序执行的这些sql语句实际效率如何,这个就是所谓的调优,调优最小的成本是加索引或修改sql或数据归档,这个过程需要判断瓶颈,如果是硬件原因)CPU/Memory/IO),需要升级硬件解决。

3.很大的表建索引,一般需要考虑建索引的时间、建索引花费的时间、锁表的时间、加索引对写造成的影响、对查询语句有多大的性能提升等等。在什么字段合理,我估计考者的意思应该是较窄的字段类型,不过具体问题还要具体分析,原则上虽然是这样,但实际中却往往需要找一个平衡点。


如果是面DBA,这三个大概是:
1.请解释一下表的存储以及聚集和非聚集索引结构。
2.如果系统变慢,你如何针对DB做一个论断检查?如何确定是CPU、内存、IO有瓶颈?请举例你之前优化过的成功案例及解决方法。
3.你以前接触的业务的核心表有多大?有多少索引?建一个索引大概有多久?


------解决方案--------------------
帮顶,慢慢看
------解决方案--------------------
大叔XLV587
------解决方案--------------------
案例了
------解决方案--------------------
探讨
石头哥咋消失了?

------解决方案--------------------
顶!慢慢研究
------解决方案--------------------
探讨

这论坛也太难用了

------解决方案--------------------
  相关解决方案