SELECT count(*) TABLES,concat(round(sum(table_rows)/1000000,2),'M') rows,concat(round(sum(data_length)/(1024*1024*1024),2),'G') DATA,concat(round(sum(index_length)/(1024*1024*1024),2),'G') idx,concat(round(sum(data_length+index_length)/(1024*1024*1024),2),'G') total_size,round(sum(index_length)/sum(data_length),2) idxfrac FROM information_schema.TABLES;
SHOW TABLE STATUS
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';
个人认为InnoDB只是花心的MySQL现阶段青睐的一个存储引擎,之所以成为目前MySQL所发行新版的标准,较之于其它的存储引擎它的优点就是其支持兼容ACID的事务,以及参数完整性即对外键的支持。
innodb的灾难恢复比之前的mysiam优秀很多,且mysiam不支持事务,这点是致命的。
不过google等大公司都使用了innodb作为解决方案之一,我想用innodb做存储引擎应该是经过深思熟虑做出的决定。
InnoDB在技术上是一套放在MySQL后台的完整数据库系统,它在主内存中建立其专用的缓冲池用于高速缓冲数据和索引,从而可以很有效的使用大量的内存。
但InnoDB也有硬伤,比如它的磁盘性能就很令人担心,MySQL缺乏良好的tablespace真是天大的缺陷!如果你测试InnoDB下的Insert/Update/Remove性能绝对让你抓狂,Cache只能解决小数据量的问题,大数据量是不够的,没经历过导入几百万条InnoDB数据到最后看着文件尺寸100KB 100KB的增长,是没法体会痛苦的。
百万行记录插入之后,插入速度下降到了之前的1/30,从开始的1600行/秒衰退到50行/秒,同样的测试环境下,MyISAM没有这样的问题,InnoDB的Roadmap对此问题的时间表是“Long Term”。
MySQL InnoDB只有在满足以下条件下:不需要经常修改表结构,没有经常性的bulk insert和载入数据需求,在没有blob/text字段的前提下,index设置合理比如经常插入就减少 index, 经常查询就增加index,千万级别的插入速度和性能才能稳定。
在主流服务器上插入速度可以达到500 ~ 1000 行每秒,这个是本人实践过后得到的经验,如果你有这方面的需求,那就可以大胆的用MySQL InnoDB,真的很爽!!
如果大家对千万级别记录的表有经常的alter index, alter table, load data, bulk insert的需求,那最好可以选择其他存储引擎,当然也可以考虑使用其他数据库。
分享到:
相关推荐
### MySQL常用语句详解 #### 一、MySQL服务器的基本操作 在进行MySQL数据库的操作之前,首先需要确保MySQL服务器已经正确安装并且能够正常运行。 - **安装MySQL为Windows服务** ```sql C:>mysqld --install `...
mySQL常用语句,包括增、删、改、查。以及一些比较偏僻的方法
### MySQL常用语句详解 #### 1. 查看服务器上存在的数据库 - **语句**:`SHOW DATABASES;` - **用途**:列出当前MySQL服务器上所有的数据库。 - **示例**:运行该命令后,会显示所有可用的数据库列表。 #### 2. ...
mysql常用语句总结 思维导图
### MySQL常用语句和应用实例 #### 连接MySQL 要连接MySQL服务器,最常用的命令行格式为: ``` mysql -h 远程主机地址 -u 用户名 -p ``` 这里的`-h`参数用于指定远程主机的IP地址或域名;`-u`后面跟的是登录...
MySQL 常用语句查询 MySQL 是一种关系数据库管理系统(RDBMS),它可以帮助我们存储、管理和检索数据。本文将对 MySQL 中的一些常用语句进行查询和介绍。 登录 MySQL 要登录 MySQL,我们可以使用以下命令: `...
本资料包“MySQL常用语句指令和功能详解.rar”包含了一份关于MySQL基础操作和高级特性的详细文本文件——“MySQL常用语句指令和功能详解.txt”。下面,我们将深入探讨MySQL的一些关键知识点。 1. 数据库创建与删除...
### MySQL常用语句详解 #### 一、数据库管理 **1. 显示数据库列表** - **语法**: `SHOW DATABASES;` - **说明**: 此命令用于列出MySQL服务器上所有的数据库。 - **示例**: 执行`SHOW DATABASES;`将会显示所有可用...
MySQL 常用语句 MySQL 是一个流行的关系数据库管理系统,它提供了许多实用的语句来管理和操作数据库。下面我们将详细介绍 MySQL 中常用的语句。 数据库管理 1. 显示所有数据库:`show databases;` 2. 创建数据库...
### MySQL 常用查询语句详解 #### 一、查询数值型数据 - **基本语法**:`SELECT * FROM 表名 WHERE 条件;` - **示例**:`SELECT * FROM tb_name WHERE sum > 100;` - 这里使用了比较运算符 `>` 来筛选 `sum` 字段...
以下是一些关于MySQL常用语句的详细说明: 1. **字符集设置**: 在MySQL中,字符集用于定义数据库、表或列的数据编码。在登录时,可以使用`--default-character-set`参数指定字符集,例如`mysql --default-...
### MySQL 常用语句详解 #### 数据库操作 - **显示所有数据库**:`SHOW DATABASES;` - 这条命令用于列出当前 MySQL 服务器上所有的数据库。 - **创建数据库**:`CREATE DATABASE db;` - 其中 `db` 是你要创建...
MySQL是一种广泛使用的开源关系型数据库管理系统,其丰富的命令行接口提供了强大的管理功能。本文将详细介绍如何连接MySQL,修改密码,以及增加新用户等基础操作。 首先,连接MySQL是使用MySQL的第一步。通常,我们...
MySQL常用SQL语句 MySQL是一种关系型数据库管理系统,使用SQL(Structured Query Language)语言来管理和操作数据库。下面是MySQL中一些常用的SQL语句: 创建、删除和基本查询 * 显示数据库:`show databases;` *...
### MySQL常用语句详解 #### 一、数据库管理 **1. 启动与停止数据库** - **启动数据库:** `net start mysql` (这里假设MySQL服务名为mysql,且使用默认的管理员账户root,密码为mysqladmin) - **停止数据库:** ...
本文将深入探讨PHP与MySQL交互的一些核心语句,以及它们在实际开发中的应用。 1. **连接 MySQL 数据库**: 使用 `mysql_connect()` 函数,提供服务器名(servername)、用户名(username)和密码(password)来...
MySQL是一种广泛使用的开源关系型数据库管理系统,其命令行界面提供了丰富的功能,对于初学者来说,掌握一些基本的MySQL语句是非常必要的。这篇文章将带你了解如何连接MySQL、修改密码以及增加新用户。 首先,连接...
mysql常用语句和命令,加注释.pdf MYSQL系统定义 :当出现在特殊字符时,可以用界表示: 当出现在特殊字符时,可以用界表示: 当出现在特殊字符时,可以用界表示: select * from `select` where id>100