select user_id,user_name from order
group by user_id
having user_id <= 200;
分组是一个相对耗时的操作,为什么我们不先缩小数据的范围之后,再分组
呢?
select user_id,user_name from order
where user_id <= 200
group by user_id
[SQL]
SELECT a.empno,a.empname,a.job,a.sal,b.depno,b.depname
from emp a left join dep b on a.depno = b.depno
where a.id >= (select id from emp order by id limit 100,1)
order by a.id limit 25;
受影响的行: 0
时间: 0.106s
[SQL]
SELECT a.empno,a.empname,a.job,a.sal,b.depno,b.depname
from emp a left join dep b on a.depno = b.depno
where a.id >= (select id from emp order by id limit 4800000,1)
order by a.id limit 25;
受影响的行: 0
时间: 1.541s
[SQL]
SELECT a.id,a.empno,a.empname,a.job,a.sal,b.depno,b.depname
from emp a left join dep b on a.depno = b.depno
where a.id > 100 order by a.id limit 25;
受影响的行: 0
时间: 0.001s
[SQL]
SELECT a.id,a.empno,a.empname,a.job,a.sal,b.depno,b.depname
from emp a left join dep b on a.depno = b.depno
where a.id > 4800000 # 从4800000 开始
order by a.id limit 25;
受影响的行: 0
时间: 0.000s
多表关联的列
是否已加索引
,优先考虑组合索引
# 添加索引
alter table user add index idx_address_age (address,age);
「反例:」
`deptName` char(100) DEFAULT NULL COMMENT '部门名称'
「正例:」
`deptName` varchar(100) DEFAULT NULL COMMENT '部门名称'
理由:
变长字段存储空间小
,可以节省存储空间相对较小的字段内搜索,效率更高
反例:
delete from account limit 100000;
正例:
for each(200 次)
{
delete from account limit 500;
}
理由:
主从延迟
。大事务,阻塞
。cpu 打满
上一篇:java毕业生设计专利查询与发布系统设计与实现计算机源码+系统+mysql+调试部署+lw
下一篇:宏基4752g无线网卡驱动(宏基v5471g网卡驱动) 宏基4752g无线网卡驱动 宏碁4750无线网卡驱动怎么下载