MySQL高性能
文章平均质量分 67
Mysql高性能
githubshareing
给自己的人生留下点脚印
展开
-
MySql 字符集和校对
基本信息字符集和排序规则的级别 官网地址:https://dev.mysql.com/doc/refman/5.7/en/charset.html 字符集是指一种从二进制编码到某类字符符号的映射,校对是指一组用于某个字符集的排序规则。并且每一类编码字符都有其对应的字符集合校对规则。基本信息 MySql支持多种字符集,我们可以通过use the IN...原创 2018-09-09 11:14:55 · 769 阅读 · 0 评论 -
Mysql 存储过程、函数、触发器、事件、视图
存储过程和函数语法例子触发器语法例子事件语法例子视图语法例子 本文讨论的是存储程序和视图,存储程序包括:存储过程和函数、触发器、事件。 mysql的各种语法:https://dev.mysql.com/doc/refman/5.7/en/sql-syntax.html存储过程和函数语法 存储过程的body 是以BEG...原创 2018-09-02 16:45:25 · 3128 阅读 · 0 评论 -
mysql 分区详解
分区概述RANGE PartitioningLIST PartitioningHASH PartitioningLinear Hash 分区KEY PartitioningSubpartitioningHow MySQL Partitioning Handles NULL如何将表迁移到分区表分区 官网地址 https://dev.mysql.c...原创 2018-08-26 14:03:13 · 628 阅读 · 0 评论 -
count查询优化
count查询优化 这里的所说的count查询优化是针对MyISAM引擎进行的。例子1:假设有t_ve_school表,共有61868行数据 INNODB 引擎 explain select count(*) from t_ve_school where id>5; explain select count(*) from t_ve_school ; expla...原创 2018-08-18 17:25:51 · 4212 阅读 · 0 评论 -
Mysql查询优化器的局限性
本篇文章主要是讲下查询的局限性java高级教程–安全原创 2018-08-11 17:47:14 · 753 阅读 · 0 评论 -
执行查询的基础(一)
mysql是如何优化和执行查询的?mysql客户端/服务器通信协议查询缓存查询优化处理mysql是如何优化和执行查询的?客户端发送一条查询给服务器服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划。mysql根据优化器生成的执行计划,调用存储引擎的api来执...原创 2018-08-04 10:35:16 · 464 阅读 · 0 评论 -
索引案例与维护索引和表
索引的案例支持多种过滤条件避免多个范围条件优化排序维护索引和表找到并修复损坏的表更新索引统计信息减少索引和数据的碎片索引的案例 假设一个在线约会网站的用户信息表中含有国家、地区、城市、性别、眼睛颜色等。若想让该表有更高效的索引组和来提供这些特征的各种组合来搜索用户,应该如何去做呢?支持多种过滤条件一般来说我们需要看看哪些列拥有很多不同的取...原创 2018-07-22 18:54:31 · 2238 阅读 · 0 评论 -
高性能的索引
总述独立的列前缀索引和索引选择性多列索引选择合适的索引列顺序总述正确地创建和使用索引是实现高性能查询的基础。高效地选择和使用索引有很多种方式,其中有些事针对特殊案例的优化方法,有些则是针对特定行为的优化。使用哪个索引,以及如何评估选择不同的性能影响的技巧,则需要持续不断地学习。独立的列索引不能是表达式的一部分,也不能是函数的参数。如:select act...原创 2018-07-15 21:30:11 · 440 阅读 · 0 评论 -
加快alter table操作的速度
相关说明Mysql 的alter table 操作的性能对大表来说是个大问题。mysql执行大部分修改表结构操作的方法是用新的结构创建一个空表,从旧表中查出所有数据插入新表,然后删除旧表。这样的操作可能需要很长时间,如果内存不足而表又很大,而且还有很多索引的情况下尤其如此。许多人都有这样的经验,alter table操作需要花费数个小时甚至数天才能完成。 一般而言,大部分alter tabl...原创 2018-07-08 16:31:59 · 2424 阅读 · 0 评论 -
范式和反范式
什么是范式和反范式?范式的优点和缺点反范式的优点和缺点什么是范式和反范式?范式和反范式的解释,网上有很多例子,不懂的可以去看下,本节重点是介绍他们的优缺点。 例子:“雇员,部门,部门领导的例子” EMPLOYEE DEPARTMENT HEAD Jones Accounting Jones Smith Engineer...原创 2018-07-08 13:24:29 · 6685 阅读 · 0 评论 -
数据类型优化
背景整数类型实数类型字符串类型日期和时间类型位数据类型选择标识符特殊类型数据背景Mysql支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。选择数据类型的基本原则:更小的通常更好,一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘,内存,和cpu缓存,并且处理时需要的CPU周期也更少。但是...原创 2018-07-07 11:04:10 · 562 阅读 · 0 评论 -
剖析Mysql查询性能和诊断间歇性问题
剖析Mysql查询性能说明本章主要通过,如何确认服务器是否达到了性能最佳的状态,找出某条语句为什么执行不够快,以及诊断被用户描述成“停顿”、“堆积”、或者“卡死”的某些间歇性疑难故障。这三个问题做出解答。我们这里将性能定义为完成某件任务所需要的时间度量,换句话说,性能即响应时间。我们通过任务和时间而不是资源来测量性能。数据库服务器的目的是执行SQL语句,所以它关注的任务是查询或者语句,如S...原创 2018-06-30 16:08:26 · 699 阅读 · 0 评论 -
基准测试工具和案例
基准测试工具集成式测试工具基准测试工具集成式测试工具ab:Apache Http服务器基准测试工具。它可以测试HTTP服务器每秒最多可以处理多少请求。如果测试的是WEB应用服务,这个结果可以转换成整个应用每秒可以满足多少请求。只能对单个URL进行尽可能快的压力测试。...原创 2018-06-27 21:24:50 · 2435 阅读 · 0 评论 -
基准测试方法
基准测试的方法避免常见错误设计和规划基准测试基准测试应该运行多长时间获取系统性能和状态获得准确的测试结果运行基准测试并分析结果绘图的重要性基准测试的方法避免常见错误在讲解基准测试方法之前,先来看下如何避免一些常见的错误。1.使用真实数据的子集而不是全集。例如应用需要处理几百GB的数据,但测试只有1GB数据;或者只是用当前数据进行测试,却希望模拟...原创 2018-06-25 22:51:46 · 4977 阅读 · 0 评论 -
了解MySQL基准测试
基准测试什么是基准测试呢?为什么要基准测试呢?基准测试的策略基准测试什么是基准测试呢? 基准测试是针对系统设计的一种压力测试。为什么要基准测试呢? 基准测试是可以方便有效的学习模拟系统在给定的工作负载下会发生什么的方法。可以观察系统在不同压力下的行为。评估系统的容量,掌握哪些是重要的变化。或者观察系统如何处理不同的数据。 基准测试可以完成以...原创 2018-06-24 17:31:11 · 206 阅读 · 0 评论 -
MySQL事务
事务ACID原子性(atomicity)一致性(consisitency)隔离性持久性隔离级别死锁多版本并发控制MySQL开发模式来源:《MySQL高性能》事务 事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条因为崩溃或者其他原因无法执行,那...原创 2018-06-24 11:23:31 · 345 阅读 · 0 评论 -
Mysql架构与并发控制
MySQL的架构 mysql的架构呢是遵循了分层的架构。上层是服务器的服务和查询执行引擎,下层是存储引擎。它的架构可以在多种不同场景中应用并发挥好的作用。它可以嵌入到应用程序中。也可以支持数据仓库、内容索引和部署软件、高可用的冗余系统、在线事物处理系统等各种应用类型。 图一:mysql 逻辑架构图解释: 第一层的连接/线程处理呢主要是进行的工作是连接处理、授权认证、安全等...原创 2018-06-24 07:39:16 · 1081 阅读 · 0 评论 -
MySQL高级教程--目录结构01
1.主要内容1)MySQL的架构介绍MySQL简介MySQLLinux版的安装MySQL配置文件MySQL逻辑架构介绍MySQL存储引擎2)索引优化分析性能下降sql慢(执行时间长,等待时间长)常见通用的join查询索引简介性能分析索引优化3)查询截取分析查询优化慢查询日志批量数据脚本Show Profile全局查询日志4原创 2017-06-03 10:24:15 · 604 阅读 · 0 评论 -
mysql高级教程-02
1.查看字符集 show variables like '%char%'; show variables like '%character%';解决字符集乱码 windows下修改my.ini文件 (红色部分代码是后加入的)# Example MySQL config file for very large systems.## This is fo原创 2017-06-03 21:53:18 · 1189 阅读 · 0 评论 -
MySql中的varchar类型
1.varchar类型的变化MySQL 数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB转载 2017-06-03 14:38:12 · 429 阅读 · 0 评论 -
mysql高级教程-SQL JOIN-03
sql解析顺序原创 2017-06-04 10:02:17 · 540 阅读 · 0 评论 -
Mysql高级教程-索引-04
1.定义Mysql官方对索引的定义为:索引是帮助mysql高效获取数据的数据结构。2.优势和劣势优势:类似大学图书馆建数目索引,提高数据检索的效率,降低数据库的io成本。 通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。劣势:实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用空间的。 虽然索原创 2017-06-04 12:24:30 · 414 阅读 · 0 评论 -
MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决
一、简介MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。有以下特点:MySQL是一种数据库管理系统。MySQL是一种关联数据库管理系统。MySQL软件是一种开放源码软件。MySQL数据库服务器具有快速、可靠和易于使用的特点。MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。有大量可用的共享MySQL软件。转载 2017-07-22 11:07:08 · 289 阅读 · 0 评论 -
MySQL 系列(二) 你不知道的数据库操作
本章内容:查看\创建\使用\删除 数据库用户管理及授权实战局域网远程连接法查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键)表内容的增删改查where条件、通配符_%、限制limit、排序desc\asc、连表join、组合union查看建表语句、查看表结构、查看是否走索引数据类型索引!一、数据库操作1、查看数据库SHOW DATAB转载 2017-07-22 11:09:34 · 450 阅读 · 0 评论 -
MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
本章内容:视图、增/删/改/查触发器、增/删/改/查存储过程、增/删/改/查存储过程三种传参,pymysql 怎么用?函数、增/删/改/查/return值内置函数事务索引! 一、视图视图是查询命令结果构成的一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集合,并可以当作表来查询使用。1、转载 2017-07-22 11:15:07 · 578 阅读 · 0 评论 -
MySQL 系列(四)主从复制、备份恢复方案生产环境实战
本章内容:主从复制简介原理备份主库及恢复从库,配置从库生效读写分离如果主宕机了,怎么办?双主的情况MySQL 备份及恢复方案备份单个及多个数据库mysqldump 的常用参数如何增量恢复呢?增量恢复的必要条件生产环境 mysqldump 备份命令恢复喽 一、MySQL主从复制1、简介我们为什么要用主从复制?主从复制目的:可以做数据库的实时备份转载 2017-07-22 11:17:58 · 760 阅读 · 0 评论 -
Linux下mysql数据库备份
1.操作环境编辑本段1.数据库版本5.7.19;2.Linux版本Centos7.3 2.MySQL启动、连接、关闭相应操作编辑本段前提:Linux操作系统中已经安装了MySQL本机环境:my.cnf文件使用的目录是 /tmp/my.cnf;数据库存放的目录是/database mysql数据库启动# mysqld --defau原创 2017-07-29 18:54:19 · 1775 阅读 · 0 评论 -
information_schema.referential_constraints 学习
information_schema.referential_constraints 表用于查看外键约束 1、information_schema.referential_constraints表的常用列: 1、constraint_schema :约束(外键)所在的库名 2、constraint_name :约束转载 2017-07-30 22:27:18 · 586 阅读 · 0 评论 -
生成删除某个数据库中的所有表外键关联语句
select concat('ALTER TABLE ',constraint_schema,'.',table_name,' DROP FOREIGN KEY ',constraint_name,';') from REFERENTIAL_CONSTRAINTS where CONSTRAINT_SCHEMA='myself_database_name' and constrai原创 2017-07-30 22:37:19 · 752 阅读 · 0 评论 -
对mysqlbinlog日志进行操作的总结包括 启用,过期自动删除 等
操作命令:show binlog events in 'binlog.000016' limit 10;reset master 删除所有的二进制日志flush logs 产生一个新的binlog日志文件show master logs; / show binary logs; 查看二进制文件列表和文件大小./mysqlbinlog --start-d转载 2017-08-03 09:05:27 · 217 阅读 · 0 评论 -
数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示
本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sharding的基本思想和切分策略第一部分:实施策略图1.数转载 2017-08-04 08:30:28 · 378 阅读 · 0 评论 -
数据库分库分表(sharding)系列(二) 全局主键生成策略
本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示本文原文连接: http://blog.csdn.net/bluishglc/article/details/7710738 ,转载请注明出处!转载 2017-08-04 08:32:27 · 256 阅读 · 3 评论 -
MYSQL--索引
1.索引的优缺点优点: 当一张表中的数据量非常大的时候,如有一张User表记录是百万级别的,要是通过电话号码查询出某个人的信息。若这个电话号码字段没有添加索引的话,将会遍历整张表进行查询,直到查询到这条信息为止,若是添加了索引mysql将会通过(BTREE、HASH、full-text全文索引、R-Tree)使用的存储方式进行查询,而不必去遍历整张表数据。缺点:创建索引和维护索引要耗...原创 2018-05-30 15:43:06 · 198 阅读 · 0 评论