Welcome 微信登录

首页 / 数据库 / MySQL

Mysql使用索引实现查询优化

Mysql使用索引实现查询优化

索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的。1.索引的优点假设你拥有三个未索引的表t1、t2和t3,每个表都分别包含数据列i1、i2和i3,并且每个表都包含了1000条数据行,其序号从1到1000。查找某些值匹配的数据行组合的查询可能如下所示:SELECT t1.i1, t2.i2, t3.i3F...
总结MySQL修改最大连接数的两个方式

总结MySQL修改最大连接数的两个方式

问题在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。常用的有两种方式修改最大连接数。解决方式一:通过命令可以通过 set GLOBAL max_connections=100;...
MySQL数据库下用户及用户权限配置

MySQL数据库下用户及用户权限配置

问题:使用某大腿写的远程工具管理Mysql数据库时发现所有数据能正常显示,但是无法进行删除、修改等操作。 思路:可以远程读取到数据库里的信息,说明当前主机可以远程连接数据库。却无法进行删除、修改这些操作,说明某些权限并未赋予当前远程用户。 解决方法: 查看当前用户权限show grants for username 显示当前用户下的权限为:select,insert,update,deleteGRANT USAGE ON *.* TO "usern...
全面了解mysql中utf8和utf8mb4的区别

全面了解mysql中utf8和utf8mb4的区别

一、简介MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。二、内容描述那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字...
总结MySQL的分区

总结MySQL的分区

前言 分区是指根据一定的规则将一个大表分解成多个更小的部分,这里的规则一般就是利用分区规则将表进行水平切分;逻辑上没有发生变化但实际上表已经被拆分成了多个物理对象,每个分成被划分成了一个独立的对象。相对于没有分区的当个表而言分区的表有很多的优势包括: 并发统计查询、快速归档删除分区数据、分散存储、查询性能更佳。mysql5.7以后查询语句支持指定分区例如:“ SELECT * FROM t PARTITION (p0,p1) WHERE c < 5 ...
MySql5.7.14安装教程详解(解压版)

MySql5.7.14安装教程详解(解压版)

下面进入正式的教程:第一步:下载最近的MySQL文件并且解压: 下载最新版的MySQL–mysql-5.7.12下载地址将下载到的文件解压缩到自己喜欢的位置,例如我自己的位置是D:MySQLmysql-5.7.12-winx64第二步:配置环境变量 这里不多说,bin目录配置到path下面就行了。第三步:添加配置文件直接复制一个解压路径下面的 my-default.ini文件,重命名为my.ini然后编辑该文件,内容如下:<code class="h...
如何将MySQL的两个表名对调

如何将MySQL的两个表名对调

前言前段实践遇到个问题,在类似pt-osc场景下,需要将两个表名对调,怎么才能确保万无一失呢?分析一些人可能就会想,表名对掉还不简单吗,相互RENAME一下嘛。但是,我们想要的是同时完成表名对调,如果是先后的对掉,可能会导致有些数据写入失败,那怎么办?解决其实也不难,从MySQL手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名。我们通常只锁一个表,那么同时锁两个表应该怎么做呢,可以用下面的方法:LOCK TABLES t1 WRITE,...
Linux上通过binlog文件恢复mysql数据库详细步骤

Linux上通过binlog文件恢复mysql数据库详细步骤

一、binlog 介绍 服务器的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间。为了显示这些二进制内容,我们可以使用mysqlbinlog命令来查看。 用途1:主从同步 用途2:恢复数据库(也是线上出现一次数据库文件丢失后,才对这个有所了解并学习的) mysqlbinlog命令用法:shell> mysqlbinlog [options] log_file ...<...
详解Mysql中的JSON系列操作函数

详解Mysql中的JSON系列操作函数

前言JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,易读并且易编写。对机器来说易于解析和生成,并且会减少网络带宽的传输。JSON的格式非常简单:名称/键值。之前MySQL版本里面要实现这样的存储,要么用VARCHAR要么用TEXT大文本。 MySQL5.7发布后,专门设计了JSON数据类型以及关于这种类型的检索以及其他函数解析。下面一起来实际操作一下。创建带有 JSON 字段的表比如一个‘文章"表,字段包括id...
MySQL 5.6 (Win7 64位)下载、安装与配置图文教程

MySQL 5.6 (Win7 64位)下载、安装与配置图文教程

MySQL是目前十分流行的一种关系型数据库管理系统。官网推出的安装包有两种格式,分别是:ZIP格式和MSI格式。其中MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,一般MySQL将会安装在C:Program FilesMySQLMySQL Server x.x (x.x是版本号)该目录中;ZIP格式是自己解压,解压缩之后MySQL就可以使用了,但是要进行配置。我用的是ZIP格式的,所以,在此主要叙述ZIP格式的MySQL下载、安装与配置。一. ...
MySQL存储过程的优化实例

MySQL存储过程的优化实例

前言在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用存储过程来封装数据库操作。如果项目的存储过程较多,书写又没有一定的规范,将会影响以后的系统维护困难和大存储过程逻辑的难以理解,另外如果数据库的数据量大或者项目对存储过程的性能要求很,就会遇到优化的问题,否则速度有可能很慢,经过亲身经验,一个经过优化过的存储过程要比一个性能差的存储过程的效率甚至高几百倍。下面介绍某一个MySQL存储过程优化的整个过程。在本文中,需要被优化的存储...
<< 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 >>