• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 数据库查询优化方法

数据库查询优化方法

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了数据库,方法,查询等相关知识,希望本文的分享对您有所帮助

数据库查询优化

1.使用索引

应尽量避免全表扫描,首先应考虑在 where 及 order by ,group
by 涉及的列上建立索引。

2.优化sql语句

  • 通过 explain(查询优化神器)用来查看 SQL 语句的执行效果,
    可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。

  • 任何地方都不要使用 select * from table ,用具体的字段列表代
    替“*”,不要返回用不到的任何字段。

  • 不在索引列做运算或者使用函数。

  • 查询尽可能使用 limit 减少返回的行数,减少数据传输时间和
    带宽浪费。

3.优化数据库对象

  • 优化表的数据类型

    使用 procedure analyse()函数对表进行分析,该函数可以对表中列的数据类型提出优化建议。能小就用小。表数据类型第一个原则是:使用能正确的表示和存储数据的最短类型。这样可以减少对磁盘空间、内存、cpu 缓存的使用。

  • 对表进行拆分
    * 垂直拆分
    把主键和一些列放在一个表中,然后把主键和另外的列放在另一个表中。如果一个表中某些列常用,而另外一些不常用,则可以采用垂直拆分。
    * 水平拆分
    根据一列或者多列数据的值把数据行放到二个独立的表中。

  • 使用中间表来提高查询速度
    创建中间表,表结构和源表结构完全相同,转移要统计的数据到中间表,然后在中间表上进行统计,得出想要的结果

4.硬件优化

  • cpu的优化
    选择多核和主频高的 CPU。

  • 内存的优化
    使用更大的内存。将尽量多的内存分配给 MYSQL 做缓存。

  • 磁盘I/O的优化
    * 使用磁盘阵列
    * 调整磁盘调度算法
    选择合适的磁盘调度算法,可以减少磁盘的寻道时间

5.mysql自身的优化

对MySQL自身的优化主要是对其配置文件my.cnf中的各项参数
进行优化调整。如指定 MySQL 查询缓冲区的大小,指定 MySQL 允
许的最大连接进程数等。

6.应用优化

  • 使用数据库连接池

  • 使用查询缓存
    它的作用是存储 select 查询的 文本及其相应结果。如果随后收到一个相同的查询,服务器会从查询缓存中直接得到查询结果。查询缓存适用的对象是更新不频繁的表,当表中数据更改后,查询缓存中的相关条目就会被清空

以上就是数据库查询优化方法的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析远程连接管理其他机器上的MYSQL数据库
  • 解析mysql 缓存如何使用内存
  • 浅析mysql 语句的调度优先级及改变
  • 关于mysql 的时间类型选择
  • 基于mysql体系结构的深入解析
  • 解析mysqldump的delay-insert选项
  • 优化mysql数据库的经验总结

相关文章

  • 2017-05-11Mysql limit 优化,百万至千万级快速分页 复合索引的引用并应用于轻量级框架
  • 2017-05-11mysql实现事务的提交和回滚实例
  • 2017-05-11linux下讲解MySQL安装与登录方法
  • 2017-05-11利用Shell脚本实现远程MySQL自动查询
  • 2017-05-11MySQL的23个需要注意的地方
  • 2018-12-05详解在mysql查询时,offset过大影响性能的原因与优化方法
  • 2018-12-05MySQL基础教程8 — 函数之数值函数
  • 2017-09-17MySQL Cluster 配置详细介绍
  • 2018-12-05一个字段同时满足多个条件的查询
  • 2018-12-05了解数据库设计三大范式

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • skip-grant-tables:mysql启动参数
    • mysql 查询结果取交集的方法
    • mysql数据库中文乱码的解决方法汇总
    • MySQL 创建主键,外键和复合主键的语句
    • Mysql中的视图实例详解
    • MongoDB学习笔记《二》
    • MySQL 教程之校对集问题
    • Access数据库的压缩与修复
    • OracleEXP和IMP用法和介绍
    • mysql数据库在Centos7下无法远程连接的原因以及解决详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有