SQL总结

作者: 进击的小猴子2 | 来源:发表于2021-03-13 16:21 被阅读0次

一、SQL优化

  • 尽量用到索引
  • 尽量不要使用distinct语法
  • 列裁剪,只有需要用到的列才进行输出
  • 尽早过滤数据,减少每个阶段的数据量
  • join时,尽量把小表放在前面,大表放后面
  • 尽量不要用order by

1、尽量用到索引

select * from character_login 
应改成:
select * from character_login where dt='20210312'

select a.* from a join b
on a.dt='20210312'  and a.dt=b.dt and a.id=b.id
"a.dt=b.dt"是关联条件,索引没有起作用。应改成:
select a.* from a join b
on a.dt='20210312'  and b.dt='20210312' and a.id=b.id

2、尽量不使用distinct(尤其是大数据量下)

因为Distinct函数都会导致对最终结果集完成一次排序,因此,这就成为成本最昂贵的排序之一.

select distinct id from character_login where dt='20210312'
应改成:
select id from character_login 
where dt='20210312' 
group by id


select game_id,count(distinct character_id) 
from character_login 
where dt='20210312' 
group by game_id
应改成:
select game_id,count(1) 
from 
(
    select game_id,character_id
    from character_login 
    where dt='20210312' 
    group by game_id,character_id
)
group by game_id

3、列裁剪

查询时只有需要用到的列才进行输出。
原因:
在大数据量多字段的数据表中,如果使用 SELECT * 方式去查询数据,会造成很多无效数据的处理,会占用程序资源,造成资源的浪费。

4、谓词下推,尽早进行数据过滤

5、Join顺序

小表在前,大表在后

6、如无必要,别用order by(尤其大数据量下)

小表在前,大表在后

相关文章

  • sql注入总结(转载)

    sql注入总结(一)--2018自我整理 SQL注入总结 前言: 本文和之后的总结都是进行总结,详细实现过程细节可...

  • SQL 常用优化手段总结 - 索引的应用

    系列文章回顾SQL 常用优化手段总结 - 分析 SQL 语句的一般步骤SQL 常用优化手段总结 - 索引的应用SQ...

  • SQL 常用优化手段总结 - 分析 SQL 语句的一般步骤

    系列文章回顾SQL 常用优化手段总结 - 分析 SQL 语句的一般步骤SQL 常用优化手段总结 - 索引的应用SQ...

  • SQL Server知识总结

    SQL Server知识总结

  • SQL题练习

    SQL语法总结:http://www.w3school.com.cn/sql/sql_func_min.aspSQ...

  • 黑猴子的家:mysql 字符型

    1、字符型总结 sql

  • 新学习计划

    本周的学习安排是sql,由于时间关系仅看了sql必知必会前两章,下周总结,安装sql,总结。对学习计划进行修改,在...

  • SQL总结

    常用的数据类型 SQL种类 创建table insert数据 select update delete 改进版建表...

  • SQL总结

    目录 简介 在Android中存储数据有时会用到数据库,Android给我们提供了 一系列的API来操作数据库,非...

  • SQL总结

    1:limit的用法:1,2,3,4,5,6,7,8,9,10,11 2:eg:查找不是manager的员工 3:...

网友评论

      本文标题:SQL总结

      本文链接:https://www.haomeiwen.com/subject/pdzzqltx.html