高性能MySQL
plugcy
精通数据库
展开
-
数据库索引原理及优化
本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接。一、摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道...转载 2018-06-04 20:43:14 · 179 阅读 · 0 评论 -
MySQL学习笔记一事务和存储引擎
锁通常分为两种锁,一是共享锁(读锁),一种是排他锁(写锁)。读锁是共享的,或者说是互相不阻塞的。多个客户在同一时刻可以同时读取同一个资源而互不干扰。写锁则是排他的,也就是说写锁会阻塞其他的读锁和写锁。MySQL中主要有两种锁:表锁(table lock)和行级锁(row lock)死锁的概念:多个线程因竞争系统资源或相互通信而处于永久阻塞状态,若无外力作用,这些线程都将无法继续向前推进。这些线程中...原创 2018-06-13 22:56:23 · 254 阅读 · 0 评论 -
MySQL学习笔记——索引的理解
索引的概念什么叫索引索引也称作键,是存储引擎用于快速找到记录的一种数据结构。索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度。B树和B+树之间的区别B树的数据结构: B+树和B树的区别1、有n棵子树的结点中含有n-1个关键字(与B树相同,MySQL中的B+树索引采用这种); (此处有争议,另一种说法是,B+树...原创 2018-06-14 21:48:40 · 313 阅读 · 0 评论 -
MySQL学习笔记——查询性能优化
查询性能优化查询性能优化主要从查询优化、索引优化、库表结构优化三个方面出发慢查询基础:优化数据访问查询性能低下最根本的原因就是访问的数据太多,大部分性能低下的查询都可以通过减少访问的数据量进行优化。一般有效的分析步骤如下:确认应用程序是否在检索大量超过需要的数据。这通常意味着访问了太多的行,也有可能是访问了太多的列。确认MySQL服务器层是否在分析大量超过需要的数据行。是否向数据库请求了不需要的数...原创 2018-06-14 21:50:10 · 238 阅读 · 0 评论