Mas*_*SQL 6 sql sql-server indexing
我对Indexing完全不熟悉,并希望加快我的一些客户系统.我的组织犯了一个错误,并将一些客户从SQL Server 2000升级到SQL Server 2008,然后在内部完全测试.因此,(新)服务器的运行速度比以往任何时候都慢.正如您所想象的那样,这让客户感到困惑.每个客户都有两个SQL Server用户数据库,大小约为1GB,每个客户各有约30个用户.
在我的组织中,目前没有任何资源可以引入开发人员或DBA来推荐如何加快新系统的使用速度.
如果我花费四周时间学习SQL Server数据库和索引,你认为添加一些索引以确定这是否有所不同可能是个好主意?我也可以轻松地删除索引以使系统恢复原状,这样就不会造成伤害吗?除了它是一种学习经历?
首先:检查哪些查询消耗最多的资源。快速浏览一下“活动监视器 - 最近昂贵的查询”将会告诉您很多信息。如果深入挖掘,可以使用 SQL Server Profiler 进行跟踪。
第二:如果您知道哪些查询是“坏”的,您可以做两件事: 尝试通过使用正确的 where 语句和连接来改进查询。或向这些查询使用的表添加索引。
添加索引可以带来巨大的性能提升。但它也会增加数据库文件的大小。如果您在该表中添加或编辑记录,则向一个或多个索引添加多个字段可能会降低服务器的速度。
当然,互联网是您最好的朋友。
资源:
https://support.microsoft.com/en-us/kb/298475