文档章节

查询大量数据如何优化sql

P
 PennyC
发布于 2016/06/23 20:40
字数 309
阅读 118
收藏 19
点赞 1
评论 0

1、尽量不要查询大量数据,要学会跟需求说不;说服不了需求,那就只能自己在代码上优化;

2、优化sql,提高查询速度,首先要从避免全表扫描,这是最关键的,避免全表扫描的方法:

    1)在where或者order by的条件字段上增加索引,索引是提高sql查询最简单的方法,但是注意,避免在有大量重复数据的字段上添加索引,一个表的索引尽量不要超过6个;

    2)避免在条件字段上进行表达式和函数的计算,以免索引失效;

    3)尽量避免使用!=,<>,is null(用数字默认值代替null值);

   4)数据库字段中可以使用varchar的,尽量不使用char,避免占用不必要的存储空间,,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。

    5)用union all代替or,exists代替in;

     6)任何地方都不要使用 select * from t ,用具体的字段列表代替“*”

© 著作权归作者所有

共有 人打赏支持
P
粉丝 2
博文 3
码字总数 651
作品 0
济南
程序员
「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)

上篇讲解了「mysql优化专题」90%程序员都会忽略的增删改优化(2),相信大家都有所收获。接下来这篇是查询优化。其实,大家都知道,查询部分是远远大于增删改的,所以查询优化会花更多篇幅去...

java进阶架构师
2017/11/24
0
0
如何高效快速地优化MySQL、SQL语句(附源码)

作者介绍 韩锋,宜信技术研发中心数据库架构师。精通多种关系型数据库,曾任职于当当网、TOM在线等公司,曾任多家公司首席DBA、数据库架构师等职,多年一线数据库架构、设计、开发经验。著有...

Yomut
2016/10/10
135
0
如何用一款小工具大大加速MySQL SQL语句优化(附源码)

作者介绍 韩锋,宜信技术研发中心数据库架构师。精通多种关系型数据库,曾任职于当当网、TOM在线等公司,曾任多家公司首席DBA、数据库架构师等职,多年一线数据库架构、设计、开发经验。著有...

韩锋
2016/09/26
0
0
【limit优化】MySQL延迟关联性能优化方法

一.业务 假设业务某个场景中,需要查询多次查询数据,sql如下: startNum = i * 500;select id,content from testtable order by updatedate asc limit " + startNum + ",500"; limit n,m定义......

谢思华
2015/08/24
0
0
SQL Server · 特性介绍 · 统计信息

SQL Server查询优化器对于执行计划成本的评估是基于数据库统计信息的。所以,数据库统计信息直接影响到数据库查询效率,是数据库系统快速响应,低延迟特性的幕后英雄,但是我们又经常忽视数据...

阿里云RDS-数据库内核组
2016/12/04
0
0
课程「性能优化之MySQL优化」的复习笔记

可以进行优化的层面 硬件 系统配置 数据库表结构 SQL 语句和索引 进行优化前的数据准备 打开以下链接下载数据 打开终端,执行以下命令 SQL 语句和索引 MySQL 慢查询日志 如何发现有问题的 SQ...

javaer
2016/11/04
21
0
性能优化之MySQL各种层面优化

  可以进行优化的层面   硬件   系统配置   数据库表结构   SQL 语句和索引   进行优化前的数据准备   打开以下链接下载数据      打开终端,执行以下命令         ...

思梦教育
06/26
0
0
Mysql数据库开发之mycat分表分库如何做?

Mycat分表分库虽然能解决大表对数据库系统的压力,但也有一些不利,因此Mycat分表分库要先解决的问题是,分不分库,分哪些库,什么规则分,分多少分片。那么究竟是怎么分的呢? 1、能不分就不...

老男孩Linux培训
05/31
0
0
在一个千万级的数据库查寻中,如何提高查询效率?

在一个千万级的数据库查寻中,如何提高查询效率? 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在 wh...

引鸩怼孑
2016/02/22
170
0
高性能MySQL-3rd-(六)查询性能优化

/ -------------------------------------------------------- * 高性能MySQL-3rd-Baron Schwartz-笔记 * 第六章 查询性能优化 */ -------------------------------------------------------......

zhmsong
2014/01/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

防火墙实例

3、一个包过滤防火墙实例 环境:redhat9 加载了string time等模块 eth0 接外网──ppp0 eth1 接内网──192.168.0.0/24 #!/bin/sh modprobe ipt_MASQUERADE modprobe ip_conntrack_ftp modp...

李超小牛子
2分钟前
0
0
TensorFlow 作用域与操作符的受限范围

variable_scope 影响变量和操作符 name_scope 只影响操作符 with tf.name_scope(""),使用空字符串将作用域返回到顶层 tf.variable_scope("") 相当于添加一个空层 import tensorflow as tf...

阿豪boy
12分钟前
0
0
Java面试基础篇——第六篇:常见Map类的区别

常见的map类有: HashMap, ConcurrentHashMap (Jdk1.8) , LinkedHashMap, TreeMap, Hashtable。 其中我们最常用的莫过于HashMap, 和并发情况下使用的ConcurrentHashMap了,它们的主要区别就在...

developlee的潇洒人生
14分钟前
0
0
崛起于Springboot2.X之前端模版freemaker(23)

1、配置文件 spring: freemarker: allow-request-override: false cache: true check-template-location: true charset: UTF-8 content-type: text/html ......

木九天
30分钟前
1
0
spring-boot:run启动时,指定spring.profiles.active

Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。 如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test......

夜黑人模糊灬
32分钟前
0
0
大数据分析挖掘技术学习:Python文本分类

引言 文本分类作为自然语言处理任务之一,被广泛应用于解决各种商业领域的问题。文本分类的目的是将 文本/文档 自动地归类为一种或多种预定义的类别。常见的文本分类应用如下: • 理解社交媒...

加米谷大数据
37分钟前
0
0
istio-0.8 指标监控,prometheus,grafana

配置: https://istio.io/docs/tasks/telemetry/metrics-logs/ https://istio.io/docs/tasks/telemetry/tcp-metrics/ envoy拦截请求>上报mixer>对接prometheus>grafana 效果截图: promethe......

xiaomin0322
39分钟前
0
0
公众号推荐

阿里技术 书籍:《不止代码》

courtzjl
42分钟前
0
0
关于改进工作效率

1.给不同的业务线建立需求群,所有的数据需求都在群里面提。 2.对于特别难搞定的事情,到对应的技术哪去做,有问题随时沟通。 3.定期给工作总结形成方法论。 4.学习新的技术,尝试用新的方法...

Avner
48分钟前
0
0
关于thinkphp 框架开启路径重写,无法获取Authorization Header

今天遇到在thinkphp框架中获取不到header头里边的 Authorization ,后来在.htaccess里面加多一项解决,记录下: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews Rewrite......

殘留回憶
52分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部