`
风雪涟漪
  • 浏览: 498200 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:8801
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:17754
社区版块
存档分类
最新评论

Schema的优化和索引 - 开篇

阅读更多

注:

Schema:在数据库系统中,数据库管理系统(DBMS)用自身所支持的语言来描述的结构。在关系数据库中,schema定义了表,每个表的字段,以及字段与表之间的关系。在文中,Schema将不翻译为中文。

 

前言

优化一个设计不当或者错误使用索引的Schema,可以数量级的提高性能。如果需要高性能,你必须对于将要执行的具体语句设计Schema和索引。你也应该对于不同种类的语句进行性能的评估,因为修改成一个语句或者schema的一部分可能会引发其他的一些连带效应。优化往往涉及到了折中。比如,添加索引会增加查询速度,但会降低更新速度。同样的,非范式的schema能提高一些语句的执行速度,但是可能在其他的速度就会降低。添加计数和汇总表是个好的优化语句的方式,但是他们增加了维护的难度。

 

一些时候你可能已经超出了开发人员的角色了以及你会有一些有疑问的需求。那些并不是数据库系统专家的人常常写一些业务需求并不会考虑性能。如果你说明一些小功能会需要两倍于当前服务器的配置,那么他们可能会决定取消这个功能。

 

Schema和索引的优化不但需要注意细节,也要有个大局观。你需要知道整个系统,这样才能理解每一部分对另外一些的影响。这一章节首先讨论数据类型,之后涵盖了索引策略以及数据库范式。最后一些关于存储引擎的信息。

 

在阅读完语句优化那张之后,你可能需要重新回顾下这一章。许多这一章讨论的主题,尤其是索引,都不是独立的。你必须熟悉语句优化以及服务器的调整,才能正确的使用索引。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics