2014年5月8日

摘要: 在寻找Join 语句的优化思路之前,我们首先要理解在MySQL 中是如何来实现Join 的,只要理解了实现原理之后,优化就比较简单了。下面我们先分析一下MySQL 中Join 的实现原理。在MySQL 中,只有一种Join 算法,就是大名鼎鼎的Nested Loop Join,他没有其他很多数据... 阅读全文
posted @ 2014-05-08 09:41 Lishenyin 阅读(424) 评论(0) 推荐(0) 编辑
摘要: MySQL 中索引的限制在使用索引的同时,我们还应该了解在MySQL 中索引存在的限制,以便在索引应用中尽可能的避开限制所带来的问题。下面列出了目前MySQL 中索引使用相关的限制。1. MyISAM 存储引擎索引键长度总和不能超过1000 字节;2. BLOB 和TEXT 类型的列只能创建前缀索引... 阅读全文
posted @ 2014-05-08 09:38 Lishenyin 阅读(304) 评论(0) 推荐(0) 编辑

2014年5月6日

摘要: 在分析如何优化MySQL Query 之前,我们需要先了解一下Query 语句优化的基本思路和原则。一般来说,Query 语句的优化思路和原则主要提现在以下几个方面: 1. 优化更需要优化的Query; 2. 定位优化对象的性能瓶颈; 3. 明确的优化目标; 4. 从Explain 入手... 阅读全文
posted @ 2014-05-06 09:14 Lishenyin 阅读(244) 评论(0) 推荐(0) 编辑

2014年5月4日

摘要: 7.1 MySQL 锁定机制简介 数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL 自然也不能例外。MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所... 阅读全文
posted @ 2014-05-04 23:12 Lishenyin 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 在本章之前的所有部分都是介绍的整个系统中的软件环境对系统性能的影响,这一节我们将从系统硬件环境来分析对数据库系统的影响,并从数据库服务器主机的角度来做一些针对性的优化建议。任何一个系统的硬件环境都会对起性能起到非常关键的作用,这一点我想每一位读者朋友都是非常清楚的。而数据库应用系统环境中,由于数... 阅读全文
posted @ 2014-05-04 19:26 Lishenyin 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 前面两节中,我们已经分析了在一个数据库应用系统的软环境中应用系统的架构实现和系统中与数据库交互的SQL 语句对系统性能的影响。在这一节我们再分析一下系统的数据模型设计实现对系统的性能影响,更通俗一点就是数据库的Schema 设计对系统性能的影响。 在很多人看来,数据库Schema 设计是一件非常... 阅读全文
posted @ 2014-05-04 19:06 Lishenyin 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 我们重点分析实现同样功能的不同SQL 语句在性能方面会产生较大的差异的根本原因,并通过一个较为典型的示例来对我们的分析做出相应的验证。 为什么返回完全相同结果集的不同SQL 语句,在执行性能方面存在差异呢?这里我们先从SQL 语句在数据库中执行并获取所需数据这个过程来做一个大概的分析了。 当... 阅读全文
posted @ 2014-05-04 18:42 Lishenyin 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 前言: 大部分人都一致认为一个数据库应用系统(这里的数据库应用系统概指所有使用数据库的系统)的性能瓶颈最容易出现在数据的操作方面,而数据库应用系统的大部分数据操作都是通过数据库管理软件所提供的相关接口来完成的。所以数据库管理软件也就很自然的成为了数据库应用系统的性能瓶颈所在,这是当前业界比较普遍的... 阅读全文
posted @ 2014-05-04 18:05 Lishenyin 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 前言数据库的备份与恢复一直都是DBA 工作中最为重要的部分之一,也是基本工作之一。任何正式环境的数据库都必须有完整的备份计划和恢复测试,本章内容将主要介绍MySQL数据库的备份与恢复相关内容。5.1 数据库备份使用场景一、数据丢失应用场景1、人为操作失误造成某些数据被误操作;2、软件BUG 造成数据... 阅读全文
posted @ 2014-05-04 15:52 Lishenyin 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 4.2.1 权限系统简介 MySQL 的权限系统在实现上比较简单,相关权限信息主要存储在几个被称为granttables 的系统表中,即: mysql.User,mysql.db,mysql.Host,mysql.table_priv 和mysql.column_priv。由于权限信息数据量比较小... 阅读全文
posted @ 2014-05-04 11:54 Lishenyin 阅读(229) 评论(0) 推荐(0) 编辑

导航