数据库
文章平均质量分 86
Fhang1996
这个作者很懒,什么都没留下…
展开
-
高性能MySQL - 创建高性能的索引(上)(B-Tree,Hash)
前言索引在Mysql中也叫作‘键(key)’。 基本功能是用于存储引擎快速找到记录的一种数据结构。Question:使用ORM,是否还需要关心索引 即使使用对象关系映射(ORM)工具,仍然要理解索引。除非只是生产非常基本的查询(例如仅是根据主键查询),否则它很难生成适合索引的查询。Mysql中,索引是在存储引擎层而不是服务层实现的。所以没有统一的索引标准。 Mysql支持的索引1. B-Tre原创 2017-03-18 18:36:25 · 873 阅读 · 0 评论 -
高性能Mysql-存储引擎(InnoDB)
MySQL将每个数据库(也可以称为schema)保存为数据目录下的一个子目录,创建表时,MySQL会在数据库子目录下创建一个和表同名的 .frm文件保存表的定义。(也因此MySQL数据库和表的定义对大小写的敏感性与具体平台密切相关)今天考完网易的数据库管理员笔试,其中一道问答题就说到了InnoDB的特性,OK,我虽然看过这节,但是答的一趟糊涂。再把这个博文改一改。 InnoDB三大性质参考http原创 2017-03-05 14:57:47 · 704 阅读 · 0 评论 -
NoSQL 发展,数据库发展MySQL瓶颈
NoSQL概念随着web2.0的快速发展,非关系型、分布式数据存储得到了快速的发展,它们不保证关系数据的ACID特性。NoSQL概念在2009年被提了出来。NoSQL最常见的解释是“non-relational”,“Not Only SQL”也被很多人接受。(“NoSQL”一词最早于1998年被用于一个轻量级的关系数据库的名字。)NoSQL被我们用得最多的当数key-value存储,当然还有其他的文转载 2017-04-10 21:23:14 · 1280 阅读 · 0 评论 -
高性能Mysql - 创建高性能的索引(下)(聚簇索引,覆盖索引,全文索引)
一、聚簇索引定义: 并不是一种单独索引类型,而是一种数据存储方式。 聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的索引顺序与数据物理排列顺序无关。举例来说,你翻到新华字典的汉字“爬”那一页就是P开头的部分,这就是物理存储顺序(聚簇索引);而不用你到目录,找到汉字“爬”所在的页码,然后根据页码找到这个字(非聚簇索引)。具体的细节依赖于其实现方式,但InnoDB的聚簇索引实际上在用一个结构中保存原创 2017-03-18 20:51:10 · 2153 阅读 · 0 评论 -
高性能MySQL - 查询性能优化
本文来源 《高性能MySQL》一、如何检查一个查询的好坏查询性能低下最基本的原因是访问的数据太多。造成低效查询的原因有以下两个:1. 检索大量不需要的数据。2. MySQL服务层在分析大量超过需要的数据行。1. 检索大量不需要的数据1.1 查询不需要的记录一个常见的错误是误以为MySQL会只返回需要的数据,实际上MySQL是先返回全部结果集再进行运算。 e.g.原创 2017-03-27 21:52:58 · 1328 阅读 · 0 评论 -
高性能MySQL - 数据类型优化
数据类型选择原则1. 小尽可能使用可以正确存储数据的最小数据类型,占用更小的磁盘,内存和CPU缓存,处理周期也小。2. 简单整型比字符操作代价低,字符集和较对规则使字符比整型比较更复杂,所以应该使用MySQL内建的类型而不是字符串来存储日期和时间,另外应该用整型存储IP地址,而不是字符串。3.尽量避免NULLNULL对于MySQL来说很难优化,NULL使得索引,索引统计和值比较都更为复杂,而且会使用原创 2017-03-19 16:06:05 · 678 阅读 · 0 评论 -
高性能MySQL -MySQL架构,MVCC多版本并发控制和一些基本概念
内容源于《高性能MySQL》一、MySQL逻辑架构架构图: 最上层不是Mysql独有的, 比如连接处理,授权认证, 安全 等等 第二层核心服务功能,包括查询解析,分析,优化,缓存以及所有内置函数,存储过程,触发器,视图等都在这层实现 第三层 存储引擎,存储引擎API包含几十个底层函数二、优化与执行 什么是优化: MySQL解析查询,并创建内部数据结构(解析树),然后对其进行各种优化,包括重原创 2017-03-04 17:55:13 · 2581 阅读 · 0 评论 -
高性能MySQL -MySQL基准测试,(http_load , sysbench 使用介绍 )
一、为什么需要基准测试?答:基准测试是针对系统设计的一种压力测试。可以观察系统在不同的压力下的行为,评估系统的容量,掌握哪些是重要的变化,或者观察系统如何处理不同的数据。⚠️ 不能根据测试结果做简单的推断。例如:假设想知道使用新数据库服务后,系统能支撑多大的业务增长,这时候不能简单地通过测试结果支持的TPS(每秒事务数)是原系统推断说新系统一定可以支持40倍的业务增长,因为在业务增长的同时,系统的流原创 2017-03-10 16:25:46 · 1196 阅读 · 0 评论 -
高性能Mysql - 服务器性能剖析
前言:3大性能问题: 1. 如何确认服务器是否达到了性能最佳的状态 2. 找到某条语句为什么执行不够快 3. 诊断被用户描述成“停顿”、“堆积”、“卡死”的某些间歇性疑难故障。性能定义: 完成某件任务所需要的时间度量,即响应时间。 数据库服务器的目的是执行SQL语句,所以性能用查询的响应时间来度量关于性能的一些误区: 1, 认为性能是降低CPU利用率。如果能通过消耗更多资源加快查询速度原创 2017-03-11 14:34:32 · 499 阅读 · 0 评论 -
高性能MySQL - RAID性能优化
前言:今天网易数据库管理员笔试考了RAID的题目,之前不够了解。所以写得很差。现在根据高性能MySQL书上的内容来总结一下。什么是RAID:Redundant Array of Independent Disk 独立冗余磁盘阵列由美国加州大学伯克利分校提出。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。RAID的原创 2017-03-25 20:41:19 · 2220 阅读 · 0 评论