select-mysql查询优化求解决·

问题描述

mysql查询优化求解决·

像这样一条sql,要查的表数据量大概在90W+ 在where 的第一个条件很快··但是并列到第二个and条件就非常慢··到三个条件查下来基本得3分钟左右···下面是sql

SELECT
DISTINCT Pid,
OrgName,
orgCode,
bCompetentOrg,
bEmployees,
b0rgTypeName,
bRegType,
becoType,
bIndustry,
AddressIDName,
bCertificateDate,
bRepresent
FROM
OLegal_temp o
WHERE
1=1

AND o.OrgName LIKE '西安%'
AND o.orgDateFrom = '2010-06-08'
AND o.orgDateTo = '2015-06-10' LIMIT 5

求大神解决下···

解决方案

偶没有大神帮忙看看呢···

解决方案二:

能不能先查出一个and中的条件,然后当成一张表,再从这之中再查。这样会快点吗
比如

SELECT ... FROM (SELECT ... FROM WHERE o.OrgName LIKE '西安%')t WHERE t.orgDateFrom = '2010-06-08'

这样搜索,能不断的缩小搜索范围
当然,这样搜索出来的结果,还能再作为一张表,继续缩小范围

解决方案三:

用group by 替代 distinct 会快一点

解决方案四:

如果查询后的结果集比较大(去年limit 5),采用distinct的话,可能消耗的资源比较大,你先去掉distinct试试
另:可以根据OrgName、orgDateFrom、orgDateTo建几个索引,试试


 SELECT DISTINCT Pid,
                OrgName,
                orgCode,
                bCompetentOrg,
                bEmployees,
                b0rgTypeName,
                bRegType,
                becoType,
                bIndustry,
                AddressIDName,
                bCertificateDate,
                bRepresent
  FROM OLegal_temp o
 WHERE     1 = 1
       AND o.OrgName LIKE '西安%'
       AND o.orgDateFrom = '2010-06-08'
       AND o.orgDateTo = '2015-06-10'
 LIMIT 5

时间: 2024-08-17 17:11:17

select-mysql查询优化求解决·的相关文章

mysql数据库报如下错误,跪求解决

问题描述 mysql数据库报如下错误,跪求解决 --- The error happened while setting a property on the result object. --- Cause: com.ibatis.common.beans.ProbeException: Could not get property 'dynamicFields' from com.aspire.ess.domain.Accounts. Cause: java.lang.ClassCastExc

新装的linux虚拟机安装mysql报错,求解决

问题描述 新装的linux虚拟机安装mysql报错,求解决 我在安装mysql的时候执行到scripts/mysql_install_db --user=mysql,报了错误 可是我的hostname并没有错误 我试着用force,是这样的 麻烦大神告诉我怎么办呀,拜托了 解决方案 貌似./bin/my_print_defaults这个脚本没有执行权限?将./bin目录和文件加上执行权限试试 解决方案二: 修改一下hostname试试呢

解决ecshop出现Can’t select MySQL database错误提示

错误提示   ECSHOP info: Can't select MySQL database(ram),请问如何解决 ecshop 出现 Can't select MySQL database错误提示,整个网页就出现怎么几行大大的提示,之后便是一片的空白,其实像这种问题但凡只要懂点 PHP 的人都知道这是 mysql 数据库连接错误,不仅仅是在 ecshop 系统中,在其它 CMS 或者自己写的 PHP 中是一样的道理,既然知道了原因,哪我们就来检查一下 ecshop 的配置文件是否正确吧.

mysql ibdata1文件太大,沾满磁盘空间,再有数据往里写的时候怎么处理。?菜鸟求解决!

问题描述 mysql ibdata1文件太大,沾满磁盘空间,再有数据往里写的时候怎么处理.?菜鸟求解决! 前两天遇到mysql ibdata1文件太大,沾满磁盘空间的问题,本人是卸载然后停服务器,再删除那几个文件的处理.如果项目上线,出现这种情况,再有数据往里写的时候怎么处理.?菜鸟求解决!

uc浏览器-手机UC浏览器 select下拉框内容被遮挡,不能正常显示,求解决。

问题描述 手机UC浏览器 select下拉框内容被遮挡,不能正常显示,求解决. <div class="col-xs-10 col-xs-offset-1 form-box"> <div class="form-content"> <form> <div class="form-group"> <label class="sr-only">学校</label&g

MySQL查询优化程序

    4.2 MySQL查询优化程序    在发布一个选择行的查询时, MySQL进行分析,看是否能够对它进行优化,使它执行更快.本节中,我们将研究查询优化程序怎样工作.更详细的信息,可参阅MySQL参考指南中的"Getting Maximum Performance from MySQL",该章描述了MySQL采用的各种优化措施.该章中的信息会不断变化,因为MySQL的开发者不断对优化程序进行改进,因此,有必要经常拜访一下该章,看看是否有可供利用的新技巧.(http://www.m

MySQL查询优化技术系列讲座之使用索引

索引是提高查询速度的最重要的工具.当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用.在MySQL邮件列表中,人们经常询问那些让查询运行得更快的方法.在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题.当然,并不总是这样简单就可以解决问题的,因为优化技术本来就并非总是简单的.然而,如果没有使用索引,在很多情况下,你试图使用其它的方法来提高性能都是在浪费时间.首先使用索引来获取最大的性能提高,接着再看其它的技术是否有用. 这一部分讲述

MySQL查询优化器的工作原理

当你提交一个查询的时候,MySQL会分析它,看是否可以做一些优化使处理该查询的速度更快.这一部分将介绍查询优化器是如何工作的.如果你想知道MySQL采用的优化手段,可以查看MySQL参考手册. 当然,MySQL查询优化器也利用了索引,但是它也使用了其它一些信息.例如,如果你提交如下所示的查询,那么无论数据表有多大,MySQL执行它的速度都会非常快: SELECT * FROM tbl_name WHERE 0: 在这个例子中,MySQL查看WHERE子句,认识到没有符合查询条件的数据行,因此根本

MySQL查询优化系列讲座之查询优化器(1)

    当你提交一个查询的时候,MySQL会分析它,看是否可以做一些优化使处理该查询的速度更快.这一部分将介绍查询优化器是如何工作的.如果你想知道MySQL采用的优化手段,可以查看MySQL参考手册. 当然,MySQL查询优化器也利用了索引,但是它也使用了其它一些信息.例如,如果你提交如下所示的查询,那么无论数据表有多大,MySQL执行它的速度都会非常快: SELECT * FROM tbl_name WHERE 0; 在这个例子中,MySQL查看WHERE子句,认识到没有符合查询条件的数据行,