MySQL海量数据处理及优化

什么是mysqlmysql

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。sql

为何是mysql
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不一样的表中,而不是将全部数据放在一个大仓库内,这样就增长了速度并提升了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最经常使用标准化语言。MySQL 软件采用了双受权政策,分为社区版和商业版,因为其体积小、速度快、整体拥有成本低,尤为是开放源码这一特色,通常中小型网站的开发都选择 MySQL 做为网站数据库。数据库

mysql的用法ide

1 默认约束函数

create table emp (id int default 12)大数据

2 设置自增优化

create table emp(id int identity(1,1)网站

3 查看表定义code

desc emp索引

4 修改代表

alter table emp rename emp2

4 修改字段的数据类型

alter table emp rename emp2

4 修改代表

alter table emp2 modify id biginf

5 修改代表

alter table emp rename emp2

6 修改字段名

alter table emp2 change id iid biginf

7 添加字段

alter table emp2 add name navrchar(200) null

8 删除字段

alter table emp2 drop name

9 删除约束

删除外建约束
    alter table emp2 drop foreign key fk_emp_dept
    
  删除主键约束
     alter table emp2 drop primary key pk_emp_dept

10 删除表

drop table if exists emp1,emp2

11 模版建表

复制表结构

   create table xx like xxx
   
复制表结构和数据解构

   create table xx as select * from xx

存储过程

delimiter // 
CREATE PROCEDURE pro_c ()
BEGIN
    SELECT
        *
    FROM
        USER ;
    END//
delimiter ;

CALL pro_c ();

其中 delimiter // 的意思是将;结束符设置为 // 因此 end 后的//的意思即为结束的意思,最后使用delimiter ; 转化//为;做为结束符

你所不值的mysql的大数据用法用法

DROP TABLE
IF EXISTS bi_user_copy;

CREATE TEMPORARY TABLE bi_cartelo_ali_daily_zp_copy AS SELECT
    *
FROM
    bi_user
LIMIT 0,
 100;

SELECT
    *
FROM
    bi_cartelo_ali_daily_zp_copy;
    
    其中tmpoprary的做用就是建立虚表,经过虚表这个中间表,就能够对大批量数据进行分批处理,最后将处理好的数据进行汇总,有效的解决了从大数据中取出本身想要的数据

数据库优化

1 模糊查询

在一个复杂的查询里面最好避免使用LIKE等查询,这样会致使索引没法使用

2 索引如下状况

(1)避免在索引字段上使用not,<>,!=
  
  (2) 避免在索引上使用IS NULL 和IS NOT NULL
  
 (3)避免在索引列上出现数据转型及函数
 
 (4) 避免创建索引的列中使用空值
 
3 复杂语句

   对于大批量数据尽可能使用分页查询,将语句拆分,数据先清洗处理后在查询等
   
4 合理的使用语法糖

  (1)可使用UNION ALL的地方尽可能不要使用UNION,UNION🈶去重的做用,可是速度很慢
  
  (2)在where语句中避免使用逻辑运算,in,not,or 或having等语法糖
  
  (3)select 语句中尽可能不要使用*语法糖
  
  
以上,谢谢
相关文章
相关标签/搜索