MySQL海量数据处理及优化
什么是mysql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
为什么是mysql
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
mysql的用法
1 默认约束
create table emp (id int default 12)
2 设置自增
create table emp(id int identity(1,1)
3 查看表定义
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