随笔分类 - MYSQL
摘要:1. 前言在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型、常见缓存系统的特点和数据指标、缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速、系统...
阅读全文
摘要:写在前面的话1、推荐用mixed,默认使用statement,基于上下文 set session/global binlog_format=mixed;2、二进制日记录了数据库执行更改的操作,如Insert,Update,Delete等。不包括Select等不影响数据库记录的操作3、MySQL记录的...
阅读全文
摘要:ICP简介Index Condition Pushdown (ICP) is an optimization for the case where MySQL retrieves rows from a table using an index. Without ICP, the storage e...
阅读全文
摘要:mysql官方的介绍In some cases, the server creates internal temporary tables while processing queries. Such a table can be held in memory and processed by th...
阅读全文
摘要:写在前面的话查询容易,优化不易,且写且珍惜mysql结构从MySQL逻辑架构来看,MySQL有三层架构,第一层连接,第二层查询解析、分析、优化、视图、缓存,第三层,存储引擎MySQL有哪些索引类型 ?从数据结构角度1、B+树索引(O(log(n))):关于B+树索引,可以参考MySQL索引背后的数据...
阅读全文
摘要:1. 查看该数据库实例下所有库大小,得到的结果是以MB为单位mysql> select table_schema,sum(data_length)/1024/1024 as data_length,sum(index_length)/1024/1024 \as index_length,sum(da...
阅读全文
摘要:I have a tableCREATE TABLE `tableMain` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value1` varchar(45) NOT NULL, 'value2' varchar(50) NOT NULL, '...
阅读全文
摘要:这个是我在jobbole.com 上看到的先给出数据表table结构mysql> show create table tt \G*************************** 1. row *************************** Table: ttCreate T...
阅读全文
摘要:默认情况下,如果日志没有配置,则只记录错误日志,记录到syslog,配置文件/etc/mysql/conf.d/mysqld_safe_syslog.cnf (ubuntu下)[mysqld_safe]syslog移除/etc/mysql/conf.d/mysqld_safe_syslog.cnf,...
阅读全文
摘要:一、什么是insert bufferinsert buffer是一种特殊的数据结构(B+ tree)并不是缓存的一部分,而是物理页,当受影响的索引页不在buffer pool时缓存 secondary index pages的变化,当buffer page读入buffer pool时,进行合并操作,...
阅读全文
摘要:1、Adaptive Hash Indexes 定义If a table fits almost entirely in main memory, the fastest way to perform queries on it is to use hash indexes. InnoDB has ...
阅读全文
摘要:一、order by的原理1、利用索引的有序性获取有序数据当查询语句的 order BY 条件和查询的执行计划中所利用的 Index 的索引键(或前面几个索引键)完全一致,且索引访问方式为 range,ref 或者 index 的时候,MySQL 可以利用索引顺序而直接取得已经排好序的数据。这种方式...
阅读全文
摘要:1、doublewrite buffer(mysql官方的介绍) InnoDB uses a novel file flush technique called doublewrite. Before writing pages to the data files, InnoDB first wri...
阅读全文
摘要:1、优化方式硬件优化=》系统优化=》mysql配置优化=》SCHEMA优化=》sql优化=》其他解决方案(redis or MongoDB or Cassandra or HBase)2、mysql配置分析1)常见瓶颈90%系统瓶颈都在IO上,所以提高IOPS尤为总要,iowait过高,加内存,减小...
阅读全文
摘要:InnoDB缓冲池是通过LRU算法来管理page的。频繁使用的page放在LRU列表的前端,最少使用的page在LRU列表的尾端,缓冲池满了的时候,优先淘汰尾端的page。InnoDB中的LRU结构InnoDB引擎中page的默认大小为16KB,InnoDB对传统的LRU算法做了一些优化LRU列表被...
阅读全文
摘要:InnoDB引擎表的特点1、InnoDB引擎表是基于B+树的索引组织表(IOT)关于B+树(图片来源于网上)B+ 树的特点:(1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的;(2)不可能在非叶子结点命中;(3)非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相...
阅读全文
摘要:percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等percona-toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 mysql 的最有名的 工具,现在 Maatkit 工具已经不...
阅读全文
摘要:概念如果索引包含所有满足查询需要的数据的索引成为覆盖索引(Covering Index),也就是平时所说的不需要回表操作判断标准使用explain,可以通过输出的extra列来判断,对于一个索引覆盖查询,显示为using index,MySQL查询优化器在执行查询前会决定是否有索引覆盖查询注意1、覆...
阅读全文
摘要:介绍PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能。 注意利用 PDO 扩展自身并不能实现任何数据库功能;必须使用一个 具体数据库的 PDO 驱动 来访问数据库服务。PDO 提供了一个 数据访...
阅读全文
摘要:InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了1、事务和外键InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用Inn...
阅读全文