草庐IT

mysql - 有索引的查询比没有索引慢

我使用的是MySQL5.6,我的存储引擎是InnoDB。我有一个包含100万行的表,其中包含以下列:ID(主键)名字姓氏foreign_key_id(外键,非空)foreign_key_id2(另一个外键,默认为NULL)行在下面分隔:25%foreign_key_id值为1且foreign_key_id2NULL25%foreign_key_id值为1且foreign_key_id2NOTNULL25%foreign_key_id值为2且foreign_key_id2NULL25%foreign_key_id值为2且foreign_key_id2NOTNULL具有以下指标:在fore

php - Doctrine Paginator 选择整个表格(非常慢)?

这与此处的前一个问题有关:Doctrine/Symfonyquerybuilderaddselectonleftjoin我想使用DoctrineORM执行复杂的连接查询。我想选择10篇分页的博客文章,留下一个作者,比如当前用户的值(value),以及帖子上的主题标签。我的查询构建器如下所示:$query=$em->createQueryBuilder()->select('p')->from('Post','p')->leftJoin('p.author','a')->leftJoin('p.hashtags','h')->leftJoin('p.likes','l','WITH','

MySQL 对多个 OR 使用索引,但对 IN 没有索引而且速度慢得多

我一直忙于更改一些SQL查询,以便它们看起来更易于人眼阅读,我还被告知它们可能会快5-10%。以前的SQL语句看起来像这样。SELECT*FROMteamsWHERETeam1='JoeBloggs'ORTeam2='JoeBloggs'ORTeam3='JoeBloggs'我改成了SELECT*FROMteamsWHERE'JoeBloggs'IN(Team1,Team2,Team3)新查询大约慢了10倍,在检查了可能的原因后我发现它没有使用任何索引,即使我试图强制索引它仍然不会使用它。该表有大约120,000行,我无法更改表格式,因为我无权访问的其他应用程序,请使用它。Team1,

sql - MySQL慢查询

SELECTitems.item_id,items.category_id,items.title,items.description,items.quality,items.type,items.status,items.price,items.posted,items.modified,zip_code.state_prefix,zip_code.city,books.isbn13,books.isbn10,books.authors,books.publisherFROM((itemsLEFTJOINbookitemsONitems.item_id=bookitems.item_

mysql - hibernate 查询比数据库上的 native 查询慢得多

我有一个Mysql数据库和一个简单的查询,当通过Eclipse中的hibernate查询编辑器执行查询和直接在mysql中执行相同的查询时,我注意到查询时间有所不同,该表有60524个条目(行)hibernate查询是fromAppLoga需要3.4秒hibernate是这样构造原生sql的selectapplog0_.ID_APP_LOGasID1_706_,applog0_.ID_APP_MODULE_EVENTasID5_706_,applog0_.DATE_INSERTasDATE2_706_,applog0_.DESCRIPTIONasDESCRIPT3_706_,applo

mysql - 非常慢的查询,还有其他方法可以以更好的性能对其进行格式化吗?

我有这个查询(我没有写)在表中有几千行之前对客户端工作正常,现在只需要40秒+4200行。关于如何优化并获得相同结果的任何建议?我尝试了一些其他方法,但没有得到这个较慢的查询返回的正确结果...SELECTCOUNT(*)ASnumFROM`fl_events`WHEREidIN(SELECTDISTINCT(e2.id)FROM`fl_events`ASe1,fl_eventsASe2WHEREe1.startdate>=now()ANDe1.startdate=e2.startdate)ORDERBY`startdate`如有任何帮助,我们将不胜感激!

mysql - ORDER BY datetime 使查询非常慢

我正在尝试从多个表中提取数据,当我使用ORDERBY日期时间字段时,它会在至少10秒后返回结果,但如果我在没有ORDERBY的情况下执行相同的查询,则它会在2秒内返回结果。这是我当前的查询SELECTph.call_subjectAScallSubject,ac.account_nameASaccountName,DATE_FORMAT(ph.trigger_on,"%c/%e/%Y%h:%i%p")AStriggerOn,ind.nameASindustry,cc.call_code_nameAScallCodeFROMphone_callsASphINNERJOINaccounts

Java - 为什么我的插入速度这么慢?

不知何故,我的MySQLInserts真的很慢。即使我使用“批量插入”。大约50次插入需要2000毫秒。这是正常现象还是有改进我的代码的方法?Stringsql="INSERTINTOwlw(wlw_level,wlw_name,wlw_url,wlw_processing,wlw_finished,wlw_source)"+"VALUES(?,?,?,?,?,?)";PreparedStatementpreparedStatement=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);for(QueryStoreqs

索引列上的mysql慢查询

在索引列上运行一个简单的查询,但它花费了500多毫秒。这些查询经常运行,因此会极大地影响性能。表中不到1M行,非常简单的表。使用MyISAM。我不明白为什么要检查所有行,似乎忽略了索引!我尝试在该字段上添加第二个索引,一个普通索引而不是唯一索引,没有任何区别。感谢您的关注。#Time:13073022:00:07#User@Host:engine[engine]@engine[10.0.0.6]#Query_time:0.511209Lock_time:0.000050Rows_sent:1Rows_examined:932048SETtimestamp=1375236007;SELE

mysql - 具有较大 LIMIT 范围的 ORDER BY 查询非常慢

MySQL5.6,64位,RHEL5.8使用ORDERBY和LIMIT'row_count'(或LIMIT0,'row_count')对大表进行查询。如果“row_count”大于结果集的实际计数,将会非常非常慢。情况1:下面的查询非常快(没有“LIMIT”):mysql>SELECT*FROMsyslogWHERE(ReportedTimeBETWEEN'2013-11-04'AND'2013-11-05')ANDPriority情况2:下面的查询也很快('LIMIT5'):mysql>SELECT*FROMsyslogWHERE(ReportedTimeBETWEEN'2013-1