MSQL数据库检索优化

原创 2012年03月28日 14:28:41
MYSQL的优化是非常重要的.其他最常用也最需要优化的就是limit.mysql的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降.

同样是取10条数据

select * from yanxue8_visit limit 10000,10 和
select * from yanxue8_visit limit 0,10
就不是一个数量级别的.

网上也很多关于limit的五条优化准则,都是翻译自mysql手册,虽然正确但不实用.今天发现一篇文章写了些关于limit优化的,很不错.

文中不是直接使用limit,而是获取到offset的id然后直接使用limit size来获取数据.根据他的数据,明显要好于直接使用limit.这里我具体使用数据分两种情况进行测试.(测试环境win2033 p4双核 (3GHZ) 4G内存 mysql 5.0.19)

1、offset比较小的时候.

select * from yanxue8_visit limit 10,10

多次运行,时间保持在0.0004-0.0005之间
Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10,1
) limit 10

多次运行,时间保持在0.0005-0.0006之间,主要是0.0006
结论:偏移offset较小的时候,直接使用limit较优.这个显然是子查询的原因.

2、offset大的时候.
select * from yanxue8_visit limit 10000,10

多次运行,时间保持在0.0187左右
Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10000,1
) limit 10

多次运行,时间保持在0.0061左右,只有前者的1/3.可以预计offset越大,后者越优.

以后要注意改正自己的limit语句,优化一下mysql了
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

msql 数据库驱动包

  • 2009-04-25 08:39
  • 687KB
  • 下载

Android手机客户端通过JSP实现与Tomcat服务器端通信(Msql数据库,Json作为载体)--服务端代码

服务器端主要代码: 1.首先构建一个Person类,用来保存用户信息 public class Person private String name; private String ad...

免费数据库(SQLite、Berkeley DB、PostgreSQL、MySQL、Firebird、mSQL、MSDE、DB2 Express-C、Oracle XE

免费数据库(SQLite、Berkeley DB、PostgreSQL、MySQL、Firebird、mSQL、MSDE、DB2 Express-C、Oracle XE 2009-02-16 1...

msql数据库的导入导出

mysql数据使用在命令行使用mysqldump导入,使用输入重定向符导入。 mysql数据库使用java执行导入导出命令进行备份和还原

msql笔记七——ThreadLocal保证客户端同时拿到的是同一个连接,数据库多事务的处理

1、简介:JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,...

Android手机客户端通过JSP实现与Tomcat服务器端通信(Msql数据库,Json作为载体)--客户端代码

1.客户端文件,JsonParse,Json文件解析 import java.io.ByteArrayOutputStream; import java.io.InputStream; impo...

基于Oracle数据库的检索优化研究与分析

引言         数据库的重要性不言而喻,是信息系统中十分重要的部分。一个好的数据库的系统,设计当然是关键,对数据的优化也是必不可少的部分。管理者建立数据库时,只有认真分析其运行中出现的各种性能问...

Msql优化文档

  • 2013-11-13 11:28
  • 3.05MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)