PS:第一个版本号里未做输入的schema_name和table_name推断,改动了一下!再次share! #统计指定架构的全部表的数据和索引大小情况 #tablesize.sh #!/bin/sh #ocpyang@126.com if [ "$#" -gt 2 -o "$#" -lt 1 ];then echo "**********************************" echo "too many input pa…
如果想查看 Mysql 数据库的总的数据量或者某个表的数据或者索引大小,可以使用系统库 information_schema 来查询,这个系统库中有一个 TABLES 表,这个表是用来记录数据库中表的大小.行数.索引大小等信息 mysql > use information_schema; Database changed mysql > show create table TABLES; mysql > desc TABLES; 表结构如下: sql: CREATE TEMPORARY…
MySQL数据和索引占用空间查询 查询所有数据库占用磁盘空间大小的SQL语句 SELECT table_schema, -- 数据库名称 concat( TRUNCATE ( sum( data_length ) / 1024 / 1024, 2 ), 'MB' ) AS data_size, -- 数据占用空间 concat( TRUNCATE ( sum( index_length ) / 1024 / 1024, 2 ), 'MB' ) AS index_size -- 索引占用空间 FR…
表优化 1.单表优化 建立索引 根据sql的实际解析顺序建立复合索引 最佳左前缀,保持索引的定义和使用顺序一致 2.多表优化 连接查询 小表驱动大表:对于双层循环来说,外层循环(数据量)越小,内层循环(数据量)越大,程序性能越高.一般左外连接左表为驱动表,右外连接右表为驱动表,内连接选结果集小的为驱动表. 索引建立在经常使用的字段上,给被驱动表建立索引 一般我们将小表当做驱动表(指定了联接条件时,满足查询条件的记录数少表为「驱动表」,未指定联接条件时,行数少的表为「驱动表」) 3.避免索引失效原…
delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容. 效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据. delete的效果有点像将mysql表中所有记录一条一条删除到删完, 而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表.…
在很多时候我们会操作数据库表,但是在向表中插入数据时,会遇到表中已经存在该id的数据或者没有该id的数据的情况,没有该id的数据的情况时直接插入就OK,遇到已经存在该id的数据的情况则更新该id的数据. 在这里我们使用replace into 语句,该语句是insert into 语句的增强版,可以实现上述功能,但是前提是表中数据存在主键,具有唯一性,否则replace into 会被当成insert into语句,从而插入重复的数据. for example: REPLACE into tes…
一.实验准备: 1.实验设备:Dell laptop 7559; 2.实验环境:windows 10操作系统; 3.数据库版本:mysql 8.0; 二.实验目的: 1.将一个宠物表pet.txt文件导入数据库; 2.掌握使用查看和修改mysql文件操作的全局变量 三.实验步骤: 连接mysql   use数据库 导入本地txt文件pet 登入mysql是 使用的命令为   mysql -u wll -p 导致进入后没有文件权限,安全报错 为  1148(42000) 后用 mysql --lo…
1.工程maven依赖包 <properties> <spark_version>2.3.1</spark_version> <!-- elasticsearch--> <elasticsearch.version>5.5.2</elasticsearch.version> <fastjson.version>1.2.28</fastjson.version> <elasticsearch-hadoop.…
INSERT INTO `crm_attachment`(OPERATOR_ID,ATTACHMENT_ID,TYPE ) SELECT APPLICATION_ID ,ATTACHMENT_ID,'attachmentAtrack' FROM cm_application_attachment ;…
目标:阿里云OS数据库DMS,单个主库最大存储空间为2T.最近公司业务扩展很快,一天数据量达到7.9G左右.要求备份清理历史数据,备份到其他磁盘. 准备: 如果想知道MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHEMA : 数据库名TABLE_NAME:表名ENGINE:所使用的存储引擎TABLES_ROWS:记录数DATA_LENGTH:数据大…