快捷搜索:
来自 网络数据库 2019-07-22 09:26 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

一定情景下SQL的优化

成立汇总表:

能够选取命令,完毕地点的工作:

 

on a.customer_id=b.customer_id where b.customer_id is null;

1.大表的多寡修改最佳分批管理。

例子:

create table product_comment_cnt (product_id ,cnt int);

会一再询问payment 表,倘使payment表记录相当多成效将十分低。

not in (select customer_id from payment)

对表的列的字段类型举办改造,退换字段宽度时照旧会锁表,无法消除主干数据库延迟的难点。

3.优化not in 和 <> 的查询

) a

select count(1) from product_comment where product_id=999;

select customer_id ,firstname,email from customer where customer_id

select cnt from product_comment_cnt where product_id=999 union all

天天按时更新汇总表,再增加当天的数额。

1.创设二个新表。

4.刨除老表。

select sum(cnt) from (

pt-online-schema-change –alter=”modify c varchar(150) not null default ‘’” –user=root –password=root d=sakia, t=表名 –charset=utf8 –execute

改写后的sql

1000万行的记录表中去除更新100万行记录,二次只删除或更新四千行数据。每批管理达成后,暂停几秒中,进行协同管理。

select count(1) from product_comment where product_id =999 and timestr>date(now())

select a.customer_id ,a.firstname,a.email from customer a left join payment b

5.将新表重新命名字为老表。

4.对汇总表的优化查询

消除办法:

2.在老表上创建触发器同步老表数据到新表。

3.联合进行老表数据到新表。

2.什么样修改大表的表结构。

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:一定情景下SQL的优化

关键词: