`
J_Fox
  • 浏览: 17178 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
文章分类
社区版块
存档分类
最新评论

mysql数据库表太大查询慢优化的几种方法

阅读更多
1.合理建立索引

   通常查询利用到索引比不用索引更快,通过explain 可查看索引是否被使用.具体explain使用方法,如

http://www.cnitblog.com/aliyiyi08/archive/2008/09/09/48878.html

   当查询包含group by时 而group by字段属于索引字段时,如果查询结果不能通过group by松散或紧凑索引而决定,group by操作就会建立临时表根据文件排序(Using temporary; Using filesort)来得到结果,往往性能更低,但也不是绝对的,即使利用到了索引也不一定比没用到查询更快。

2.建立分区

对关键字段建立水平分区,比如时间字段,若查询条件往往通过时间范围来进行查询,能提升不少性能。

3.建立粗粒度数据表

根据查询建立对应的表,定时对重复的记录进行压缩转存至新表,粒度变大,数据记录变少。

4.利用缓存

利用缓存将一次查询“得来不易”的数据缓存住一段时间,从而提高效率。

5.nosql

利用非关系型数据库(暂未做尝试)。
分享到:
评论

相关推荐

    Linux下的MySQL数据库编程

    既涵盖理论基础,又囊括案例开发,既包括Linux操作系统和数据库技术的基础知识,又详细介绍MySQL数据库的安装/配置、查询优化、安全管理及MySQL可视化管理工具的使用,并对几种典型的数据库连接技术,如C、PHP、Java...

    mysql数据库my.cnf配置文件

    如果你使它太大, # 系统将开始换页并且真的变慢了。对于内存在4GB左右的服务器该参数可设置为384M或512M。通过检查状态值Key_read_requests和Key_reads, # 可以知道key_buffer_size设置是否合理。比例key_reads/...

    MySQL数据库如何导入导出(备份还原)

    本文适用范围:全面阐述MySQL数据库的各种操作,分虚拟主机和服务器两种情况。 虚拟主机 1、通过PHPMyAdmin的导入导出功能,这个软件一般只支持几兆数据的导出,太大的数据可能会超时。 2、通过程序自带的数据库备份...

    后盾网MYSQL系列视频教程

    后盾网MYSQL系列视频教程课程目录:【】1__什么是MYSQL及MYSQL的启动与关闭几种方式【】2 创建数据库与表_操作外部SQL文件【】3_后盾网MYSQL视频教程_数据类型定义与选择一(1)【】4_MYSQL视频教程_SELECT查询_like...

    Windows下mysql修改root密码的4种方法

    MySQL是一个关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。搭配 PHP 和 Apache 可组成良好的开发环境。因此用的很广泛...

    MySQLDBA运维笔记.pdf

    mysql 总结........................................................................................................................................6 1.1 数据库的种类.......................................

    MySQL server has gone away错误提示解决方法

    大概浏览了一下,主要可能是因为以下几种原因: 一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可。 还有一种可能是因为某些...

    MySQL 压缩的使用场景和解决方案

    提到 MySQL 压缩相关的内容,我们能想到的可能是如下几种和压缩相关的场景: 1、客户端和服务器之间传输的数据量太大,需要进行压缩,节约带宽 2、MySQL 某个列的数据量大,只针对某个列的数据压缩 3、MySQL 某个...

    经典全面的SQL语句大全

     对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见的解决方案是建立如下所示的循环: Randomize RNumber = Int(Rnd*499) +1 ...

    MyISAM InnoDB 区别

    可能有人会说你MyISAM无法抗太多写操作,但是我可以通过架构来弥补,说个我现有用的数据库平台容量:主从数据总量在几百T以上,每天十多亿 pv的动态页面,还有几个大项目是通过数据接口方式调用未算进pv总数,(其中...

    文字识别解读小程序.zip

    如果要对字符进行识别,可以采取的策略和方法有如下几种: 使用谷歌开源OCR擎Tesseract使用大公司的OCR放平台(比如百度),使用他们的字符识别API国内OCR放平台在汉字的识别上还是顶尖的,在汉字识别的准确率已相对...

    玩转模板--自动代码生成工程

    如果各位想用其他数据库,可以自己加载其他数据库的驱动,并修改一下DbOption类下的getTableColumns(String)方法中的查询表信息方法 以及添加类似dm2java.properties数据库类型到java数据类型的映射文件,不同数据库...

    基于SSM+mysql框架的高并发和商品秒杀项目源码+项目说明.zip

    * **数据库** :Mysql-5.6.17-WinX64 实验性的项目用Mysql就足够啦 * **依赖管理工具** : Maven 管理jar包真的很方便 这里列出的环境不是必须的,你喜欢用什么就用什么,这里只是给出参考,不过不同的版本可能会引起...

    2009达内SQL学习笔记

    3、对列起别名:有直接起别名,加AS起别名,用双引号起别名等三种方法 (单引号,引起字符串;双引号,引起别名。起别名有符号,或者区分大小写时,必须用双引号) 多表查询时,可给表起别名。(给列起别名,列<空格...

    保障MySQL数据安全的一些建议

    每年业界都会传出几起大事件,某知名或不知名的公司被脱裤(拖库的谐音,意思是整个数据库被黑客盗取)之类的。 从数据安全上也可以分为外网安全及内部操作安全,下面分别讨论一下。 内部操作安全策略 1. 是否回收...

    springmybatis

    3. 创建mysql 测试数据库和用户表,注意,这里采用的是 utf-8 编码 创建用户表,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) ...

    myodbc.dll

     第二种是直接下载myodbc.dll文件,只有几百k,但不太容易使用,本人经过很久摸索才找到使用它的方法。首先你将包解开,将myodbc.dll 文件放到windows\system 或 winnt\system32目录下,这取决于你的系统是win9x还是...

    二十三种设计模式【PDF版】

    有几种画法?艺术大家通常是创造出自己的套路,比如明末清初,水墨画法开始成熟,这时画树就不用勾勒这个模式了,而是一笔 下去,浓淡几个叶子,待毛笔的水墨要干枯时,画一下树干,这样,一个活生写意的树就画出来. 我上面...

    站长俱乐部新闻发布系统 V5.21

    asp.net程序的运行速度和asp相比没有太大的区别,关键在于程序设计的合理性,asp版的HTML程序就比asp.net速度快,因为基本不调用数据库 主机商为了方便消费者,一个服务器上运行多种不同版本的asp.net程序,可能会使...

Global site tag (gtag.js) - Google Analytics