MSSQL,对线上的库(千万级以上)进行索引的新建、重建、重组,对数据库的和服务器的性能都有哪些影响?比较好的操作步骤是什么?同问,收缩数据库对数据库的和服务器的性能有哪些影响?

------解决思路----------------------
新建的影响相对较少,主要在空间上,新建索引所需空间通常很大(比如原表体积的等同大小)
重组索引相对前面而言,影响更少,但是对碎片很大的情景下效果不明显。
重建是三种里面开销最大的一种,传统重建是删除索引再重新创建,会锁住一定范围的数据,直到操作完毕用户才能访问。如果tempdb空间足够,重建时可以使用联机重建减少锁的影响。同样,重建所需的空间通常是100%~120%的表空间。
另外,如果表上已经有很多索引,那么上面的操作都或多或少会影响这些索引或者受这些索引影响
收缩数据库对数据库的和服务器的性能有哪些影响?不到必要时候,不要做,IO消耗相当大。
------解决思路----------------------
这些操作,至少i/o都不小,所以对实时系统影响不小
这些操作,都不是很必要经常操作的
所以,你只要找出系统空闲时间,定时有计划执行就可以
------解决思路----------------------
使用 DBCC DBREINDEX 来处理,不要一下子处理太多的表,隔一段时间处理那么一部分。