mysql对千万级的大表怎么优化

mysql对千万级的大表怎么优化,第1张

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函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9716560.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存