我正在维护一个相当大的应用程序和数据库,并注意到我们的一些存储过程中数据库性能很差。
我总是听到可以添加“添加索引”来提高性能。我当然不是DBA,而且我也不了解什么是索引,它们为什么有帮助以及如何创建它们。
我基本上需要一个索引101。
谁能给我资源以便我学习?
根据经验,索引应该位于您在联接或where子句中使用的任何字段上(如果索引具有足够的不同值以使值得使用索引,则仅包含少量可能值的字段不会从索引中受益)为什么尝试对位字段建立索引毫无意义)。
如果您的结构已经正式创建了主键(应该,我永远不会创建没有主键的表),那么根据定义,这些键将被索引,因为需要主键在其上具有唯一索引。人们通常会忘记他们必须索引外键,因为在建立外键关系时不会自动创建索引。由于外键的目的是为您提供一个要联接的字段,因此大多数外键都应该建立索引。
一旦创建索引,就需要维护。如果您有大量的数据更改活动,则它们可能会变得零散且性能降低,需要刷新。在线阅读有关索引的书籍。您还可以在此处找到create index语句的语法。
索引是一种平衡行为,通常添加的每个索引都会增加数据插入,更新和删除的时间,但是可能会加快选择和加入复杂插入,更新和删除的时间。尽管上面的经验法则是一个很好的起点,但没有一个公式可以确定最佳的索引。