mysql 积累

1.数据导出并压缩

mysqldump db_name -u db_user -p'passwd' | gzip -c | cat > db_name.sql.gz

tips: gzip对文本的压缩比非常大,可以节省大量的磁盘空间和传输时间

2.创建用户并赋予权限

grant all privileges on *.* to jack@'localhost' identified by "jack" with grant option;

tips: * . * 代表所有

3.in会走索引吗?

答案是肯定的

select * from user where profile_id in (45,89,199,3333)

image.png

可以看到的是:index range scan 索引内搜索,影响行数4行,而总条数超过100万条

4.建立索引的方法

CREATE INDEX `idx_user_profile_id`  ON `dbtest`.`user` (profile_id) COMMENT '增加索引' ALGORITHM INPLACE LOCK DEFAULT

5.案例

CREATE TABLE `user` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `tel` VARCHAR(20) NOT NULL,
    `profile_id` INT(11) NOT NULL DEFAULT '0',
    `username` VARCHAR(20) NOT NULL,
    `truename` VARCHAR(10) NOT NULL,
    `job` VARCHAR(100) NOT NULL DEFAULT '',
    `company` VARCHAR(100) NOT NULL DEFAULT '',
    `password` VARCHAR(50) NOT NULL,
    `email` VARCHAR(30) NOT NULL,
    `id_no` VARCHAR(20) NOT NULL,
    `city_id` VARCHAR(10) NOT NULL DEFAULT '',
    `address` VARCHAR(50) NOT NULL,
    `summary` VARCHAR(2000) NOT NULL,
    `gender` TINYINT(4) NOT NULL,
    `age` TINYINT(4) NOT NULL,
    `site` VARCHAR(100) NOT NULL DEFAULT '',
    `uuid` VARCHAR(50) NOT NULL,
    `created_at` DATETIME NOT NULL,
    `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`)
)
COMMENT='测试用户表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1
;

  • 数据行数 1390119
  • 全表扫描结果

select id,tel from user where tel = '13383430001';
+----+-------------+
| id | tel |
+----+-------------+
| 52 | 13383430001 |
+----+-------------+
1 row in set
Time: 29.580s

  • 添加索引耗时

ALTER TABLE user
-> ADD INDEX tel (tel);
Query OK, 0 rows affected
Time: 45.666s

  • 添加索引后结果

select id,tel from user where tel = '13383430001';
+----+-------------+
| id | tel |
+----+-------------+
| 52 | 13383430001 |
+----+-------------+
1 row in set
Time: 0.009s

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 4,011评论 0 11
  • 1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop dat...
    codeSirCao阅读 499评论 0 2
  • 转载,觉得这篇写 SQLAlchemy Core,写得非常不错。不过后续他没写SQLAlchemy ORM... ...
    非梦nj阅读 5,602评论 1 14
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,696评论 18 399
  • 载着我的姑娘去流浪 我牵着我的骏马,来到你的草原,轻轻地呼唤,我的姑娘,一起去远方流浪吧,一起闯江湖,一起走天涯,...
    南溪向南北歌流海阅读 211评论 0 2

友情链接更多精彩内容