
MySQL 对于千万级的大表的优化:
常用的优化sql----突出快字,使完成 *** 作的时间最短
1、用索引提高效率:
2、选择有效率的表名顺序,及数据结构及字段;
3、使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表;
4、删除重复记;
5、过内部函数提高SQL效率;
读写分离----- *** 作不在一个表里完成
1、主数据库A,进行事务性增、改、删 *** 作(INSERT、UPDATE、DELETE);
2、从数据库B,进行SELECT查询 *** 作;
3、A复制到B,使数据保持一致性;
垂直划分 ------数据不存储在一个服务器里
按照功能划分,把数据分别放到不同的数据库和服务器。如博客功能的放到服务器A,储存文件放到服务器B;
水平划分------相同数据结构的数据不放在一张表里
把一个表的数据根据一定的规则划分到不同的数据库,两个数据库的表结构一样。
数据归档处理-----时间优先原则存储读取
将数据库中不经常使用的数据迁移至近线设备,将长期不使用的数据迁移至文件形式归档。这样,随着应用的需要,数据会在在线、近线和文件文档之间移动,如当应用需要访问很久以前的某些数据,它们的物理位置在近线设备,则会自动移动到在线设备。对用户的应用而言,这些都是透明的,就像所有数据都存放在在线设备一样,不会对数据库应用产生任何影响。
insert all
into dept(deptno,dname) values(50,'测试一部')
into dept(deptno,dname) values(51,'测试二部')
SELECT 1 FROM DUAL;
insert all into dept(deptno,dname)
into dept(deptno,dname) values(60,'测试一部')
into dept(deptno,dname) values(61,'测试二部')
SELECT 62,'测试三' FROM DUAL;
begin
insert into dept(deptno,dname) values(70,'测试一部');
insert into dept(deptno,dname) values(71,'测试二部');
end;
oracle的序列 sequences(mysql自增长)
sequences的使用分两步
1、新建一个序列(工具建)
2、如何使用
3、函数对比
>
find_in_set这个函数不错,可惜Oracle中没有,但是我们可以变相应用,同样可以起到相同的效果。
select
decode(teiiitem_num,'GMEXIN10484',1,'HXEXIN10472',2,'HXEXIN10471',3,'GMEXIN10487',4,'GMEXIN10483',5) sequence ,
teii
from t_exam_item_info teii
where teiiitem_num in ( 'GMEXIN10484','HXEXIN10472','HXEXIN10471','GMEXIN10487','GMEXIN10483' )
order by decode(teiiitem_num,'GMEXIN10484',1,'HXEXIN10472',2,'HXEXIN10471',3,'GMEXIN10487',4,'GMEXIN10483',5) ;
以上就是关于mysql对千万级的大表怎么优化全部的内容,包括:mysql对千万级的大表怎么优化、oracle与mysql语法不同之处、mysql有没有类似oralce instr函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)