Welcome 微信登录

首页 / 数据库 / MySQL

深入MySQL存储引擎比较的详解

深入MySQL存储引擎比较的详解

MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。 InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH...
mysql中event的用法详解

mysql中event的用法详解

一、基本概念mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。二、适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表。三、使用权限单独使用ev...
MySQL查询优化--调整内部变量的详解

MySQL查询优化--调整内部变量的详解

MySQL是如此的开放,所以可轻松地进一步调整其缺省设置以获得更优的性能及稳定性。需要优化的一些关键变量如下: 改变索引缓冲区长度(key_buffer) 一般,该变量控制缓冲区的长度在处理索引表(读/写操作)时使用。MySQL使用手册指出该变量可以不断增加以确保索引表的最佳性能,并推荐使用与系统内存25%的大小作为该变量的值。这是MySQL十分重要的配置变量之一,如果你对优化和提高系统性能有兴趣,可以从改变 key_buffer_size变量的值开始...
MySQL查询优化之explain的深入解析

MySQL查询优化之explain的深入解析

在分析查询性能时,考虑EXPLAIN关键字同样很管用。EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作、以及MySQL成功返回结果集需要执行的行数。explain 可以帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们查询,让查询优化器能够更好的工作。一、MySQL 查询优化器是如何工作的MySQL 查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽...
MySQL查询优化之索引的应用详解

MySQL查询优化之索引的应用详解

糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响。如同其它学科,优化查询性能很大程度上决定于开发者的直觉。幸运的是,像MySQL这样的数据库自带有一些协助工具。本文简要讨论诸多工具之三种:使用索引,使用EXPLAIN分析查询以及调整MySQL的内部配置。MySQL允许对数据库表进行索引,以此能迅速查找记录,而无需一开始就扫描整个表,由此显著地加快查询速度。每个表最多可以做到16个索引,此外...
mysql_fetch_row()与mysql_fetch_array()的使用介绍

mysql_fetch_row()与mysql_fetch_array()的使用介绍

mysql_fetch_array --从结果集中取得一行作为关联数组,或数字数组,或二者兼有 说明array mysql_fetch_array ( resource result [, int result_type])返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。 mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,...
Mysql中order by、group by、having的区别深入分析

Mysql中order by、group by、having的区别深入分析

order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。什么是“聚合函数”? 像sum()、count()、avg()等都是“聚合函数” 使用group by 的目的就是要将数据分类汇总。 一般如: select 单位名称,count(职工id),sum(职工工资) form [某...
基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析

基于Mysql的IP处理函数inet_aton()与inet_ntoa()的深入分析

有个统计需求,需要对IP进行分类统计,Mysql提供了inet_aton()和inet_ntoa()函数进程处理。具体可以查看官方手册。INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数。地址可以是4或8比特地址。mysql> select inet_ntoa(3507806248);+-----------------------+| inet_ntoa(3507806248) |+--------...
如何用word vb宏来生成sql

如何用word vb宏来生成sql

昨天BOSS下了个命令让我用word宏的方式来快速生成sql,这样在我们建表的时候就不用在一条一条元数据的输入。从而提高效率节约成本:接到命令后就开始着手来做,一边上网搜相关的现成的材料,一边看vb宏的视频教程。终于让我写出了这个程序,虽说有点儿小吧,可是感觉挺好的。这里的vb宏要针对固定的数据库数据字典表格进行的。由于代码太长就不拿出来了,这里是word中的表格式和vb运行后的结果如下:文件名称T_Test中文描述用户信息表序号字段名中文说明数据类型长度...
基于mysql多实例安装的深入解析

基于mysql多实例安装的深入解析

相信大多数人都遇到过多实例安装mysql吧,相信大多数人只要找到一份多实例安装的教程就会很容易搞定了,但是越是顺利的安装过程越让我们不安,为什么呢,当我们在按照教程一步一步来的时候,你知道每句话的意思的目的吗?出现错误以后的我们又该怎么办呢?现在我为大家展示我的安装过程,各种纠结,各种错误。首先说明一个场景:我的电脑是ubuntu系统,之前apt-get自动安装过mysql。这也是出现错误最多的原因之一。下面是我的安装过程,其中充斥着各种错误:复制代码 代...
深入mysql主从复制延迟问题的详解

深入mysql主从复制延迟问题的详解

面试mysqldba的时候遇到一个题:描述msyql replication 机制的实现原理,如何在不停掉mysql主库的情况下,恢复数据不一致的slave的数据库节点?MySQL的复制(replication)是一个异步的复制,从一个MySQL instace(称之为Master)复制到另一个MySQL instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在Master(...
mysql备份与恢复详解

mysql备份与恢复详解

MYSQL的备份有多少种,请简要的描述:数据库分逻辑备份物理备份物理备份又分冷备和热备A.直接拷贝数据文件到安全地方进行保存B.使用MYSQLHOSTCOPY备分数据C.使用MYSQLDUMP备份数据D.使用MYSQL的同步复制,实现数据实时数据同步备份常用的逻辑备份主要就是两种:一种是将数据生成为可以完全重现当前数据库中的数据的insert语句,另一种是将数据通过逻辑备份软件,将数据库表的数据以特定分隔符进行分割后记录在文本中。对于第一种生成insert...
解析mysql 5.5字符集问题

解析mysql 5.5字符集问题

安装了个5.5版本的mysql,字符集出现了问题,之前的mysql服务器都是通过在my.cnf配置文件中进行配置便可,可是今儿怎么着都不行一直报错:当时系统中也没有配置错误日志,所以只能是先配置下错误日志的位置,看看到底是哪里出错了:复制代码 代码如下:user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir...
<< 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 >>