MySQL InnoDB索引设计策略
一、索引设计原则 在MySQL中常用的B+树索引分为聚簇索引和辅助索引,关于辅助索引,虽然个数没有限制(聚簇索引一个表只能由一个),但可以想想一下,任何事物都是有两面性的:建立索引,是为了提高查询性能,但这是以降低写入性能为代价的。因为所有索引,在表需要写入数据时,都需要去维护索引数据以保证所有索引都是最新的、最准确的,所以可想而知,索引越多,写入性能越差,……
01-06 立刻查看
MySQL InnoDB索引与算法介绍
一、索引介绍 数据库是用来存储数据的工具,存进去,是为了更方便地取出来,而且越快越好,这样对性能的要求就非常高了。在计算机上运行一个任务,一般有三部分涉及性能,分别是内存大小,CPU及磁盘的速度,而索引是一种存储方式,与它相关的最重要部分就是磁盘,所以磁盘性能的高低,直接影响了在数据库中查找数据的效率。另外,磁盘的性能与读写顺序有关,对于普通的机械硬盘,顺序……
01-05 立刻查看
MySQL InnoDB加锁处理分析(何登成)
一、背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?……
04-16 立刻查看