标签:数据库

MySQL性能优化之路:从查询开始(3)

如何利用Explain和Profiling来做MySQL的查询优化。 本篇是MySQL查询优化系列文章的第三篇,前两篇我们分别介绍了Query语句优化的思路及基本原则和什么是MySQL Query Optimizer。今天咱们来说道说道做查询优化经常用到的两个工具:Explain和Profiling…

MySQL性能优化之路:从查询开始(2)

MySQL Query Optimizer是什么? 在MySQL系统架构一文中,曾介绍过MySQL整体架构为两层架构,其中SQL Layer层中有个模块是专门负责查询优化的。今天,我们介绍的MySQL Query Optimizer,即为MySQL的查询优化器。 查询优化器,专门负责优化SELECT…

MySQL性能优化之路:从查询开始(1)

本篇内容,Query语句优化的思路及基本原则。 思路和原则是两个范畴的内容。思路是告诉我们怎么做,第一步做什么、第二步做什么之类的。原则呢,是我们在做的过程中所要依据的准则。明白了这个,下面我们来依次做介绍。 一、Query语句优化的思路 Query优化到底该如何着手?苦李通常的思路是这样的,优化哪…

MySQL系统架构简介

本篇文章主要“简解”MySQL数据库的体系架构。 从纵向的角度来看,MySQL可以看成是两层架构,第一层我们通常称之为SQL层(SQL Layer),第二层称之为存储引擎层(Storage Engine Layer)。其最为抽象的架构示意图如下: 所有通过SQL对数据库进行的操作,首先都要通过SQL…

大型网站技术之存储的瓶颈(8)

在开始本篇主要内容前,我们一起看看下面的几张截图,首先是第一张图,如下图所示: 这是一家电商网站的首页,当我们第一次打开这个首页,网站会弹出一个强制性的对话框,让用户选择货物配送的地址,如果是淘宝和京东的话,那么这个选择配货地址的选项是在商品里,如下图是淘宝的选择配送地点: 那么图一跟京东和淘宝有什…

大型网站技术之存储的瓶颈(7)

本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说。 其实不管什么…

大型网站技术之存储的瓶颈(6)

在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被水平拆分后的单表查询问题。 要解决数据表被水平拆分后的单表查询问题,我们首先要回到问题的源头,我们…

大型网站技术之存储的瓶颈(5)

上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到解决实际问题的启迪,而且我觉得…

大型网站技术之存储的瓶颈(4)

如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体…