为表中的某个列或是列组合建立索引, 作用有两个方面:
1.提高检索效率: 这实际上是把"B树"类的算法间接引入到了自己的程序中来, 客观上提高了客户的操作体验
2.提高并发度: 如果存在索引, DBMS就不必进行全表扫描(可能引起加锁超时或死锁等).
MSSQL SERVER是自动处理"锁"的, 单用户程序开发者不太意识到锁的存在. 锁是比较复杂的一个对象, 有不同的粒度和影响范围和影响方式
如果在要查找的目标列上有索引, 那么SQLSERVER就可以只使用行级锁
3.在一个事务过程中, 如果对多个表进行操作, 加锁次序不一致会引起死锁
这在写业务代码时最容易忽略, 因为一般注意力都集中的业务逻辑上, 直到程序在运行中反复出现加锁超时或死锁才会注意到.