美文网首页
mysql 积累

mysql 积累

作者: 简书说我的昵称违规 | 来源:发表于2017-03-24 10:10 被阅读8次

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

相关文章

  • mysql 积累

    1.数据导出并压缩 tips: gzip对文本的压缩比非常大,可以节省大量的磁盘空间和传输时间 2.创建用户并赋予...

  • mysql_积累

    获取当前库的表名

  • mysql 语句积累

    导出所有索引

  • mysql句型积累

    统计数量(去重)SELECT COUNT(DISTINCT common_name) FROM drug; loa...

  • mysql 语句积累

    1.查看并优化字段的数据类型 2.mysql update更新用法

  • MySql导出数据的流程

    由于之前并不熟悉mysql,积累零碎的小知识点,记录于此。本人使用的为Ubuntu系统,从mysql导出数据到文档...

  • 第15讲 mysql积累

    mysql清空表数据后让自增ID仍从空位开始的方法 1、清空表时使用truncate命令,而不用delete命令m...

  • mysql中一些积累

    1,当某个字段的名字为关键字时,如cluster,date,利用where进行条件查询时,不可以直接用该名字,而应...

  • mysql 常用语句积累

  • Superset如何移花接木

    背景 Superset已经运行一段时间了,上面积累了不少基于MySQL的Dashboard和Chart,为了提升性...

网友评论

      本文标题:mysql 积累

      本文链接:https://www.haomeiwen.com/subject/aebxottx.html