文档章节

查询大量数据如何优化sql

P
 PennyC
发布于 2016/06/23 20:40
字数 309
阅读 125
收藏 19

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
济南
程序员
私信 提问
PHP面试之MySQL查询优化

[TOC] 请简述项目中优化MySQL语句执行效率的方法,从哪些方面入手,SQL语句性能如何分析? 分析查询速度 记录慢查询日志 分析查询日志,使用工具进行分析 使用 set peofiling=1; # 服务器上执...

openoter
04/20
0
0
「mysql优化专题」单表查询优化的一些小总结,非索引设计(3)

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

java进阶架构师
2017/11/24
0
0
MySQL优化(1)--------常用的优化步骤

在开始博客之前,还是同样的给一个大概的目录结构,实则即为一般MySQL的优化步骤 1、查看SQL的执行频率---------------使用show status命令 2、定位哪些需要优化的SQL------------通过慢查询...

JJian
07/23
0
0
Mysql数据库开发之mycat分表分库如何做?

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

老男孩Linux培训
05/31
0
0
【译】 8 个 MySQL 性能提示

当你开发的应用上线以后,一切都很美好,用户持续不断的涌进来,每个人都很happy。可突然发现,大量的访问用户让 MySQL 数据库崩溃,让网站崩溃,到底是什么问题呢,该如何解决呢? 本文列出...

红薯
2011/03/16
375
2

没有更多内容

加载失败,请刷新页面

加载更多

Spring核心概念--Spring01

小生初出程序茅庐,走上编程之路,还请各位大佬多多管照。 初学Spring框架: 创建HelloWorldSpring项目 用eclipse开发Web项目,添加jar包: commons-logging-1.2.jar log4j-1.2.17.jar spring-...

小橙子的曼曼
14分钟前
1
0
MySQL 运行状态监控方法

一、通过shell脚本监控mysql的qps,tps,io详细见附件脚本《mysqlgather.sh》 因在脚本中直接设置密码会提示告警信息,需要在my.cnf文件中的[client]标签下增加默认的用户名和密码,并重启mys...

PeakFang-BOK
18分钟前
1
0
ROS实操笔记 四 topic (主题)

主题 消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。总体上,...

placido
19分钟前
1
0
【NLP】【六】gensim之doc2vec

【一】总述 doc2vec是指将句子、段落或者文章使用向量来表示,这样可以方便的计算句子、文章、段落的相似度。 【二】使用方法介绍 1. 预料准备 def read_corpus(fname, tokens_only=False):...

muqiusangyang
22分钟前
0
0
node中process.nextTick & promise & 异步IO & setTimeout & setImmediate 的优先级

process.nextTick > promise > setTimeout > 异步IO > setImmediate

小草先森
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部