草庐IT

query-optimization

全部标签

mysql - "foreach"循环 : Using all cores in R (especially if we are sending sql queries inside foreach loop)

我打算使用“foreach”来利用我CPU中的所有内核。问题是我需要在循环内发送一个sql查询。该脚本在正常的“for”循环中运行良好,但当我将其更改为“foreach”时出现以下错误。错误是:select:Interruptedsystemcallselect:Interruptedsystemcallselect:InterruptedsystemcallErrorin{:task1failed-"expiredMySQLConnection"我使用的代码是:library(foreach)library(doMC)library(RMySQL)library(multicore)

mysql - 在 MySQL 中使用 BETWEEN 执行时间长

此查询的执行时间超过2秒(对于10k行)。是否可以优化此查询?SELECTid,MIN(ABS(timestamp_a-timestamp_b))FROMaINNERJOINbON(timestamp_abetween(timestamp_b-5*60)AND(timestmap_b+5*60))GROUPBYid示例结果(id、timestamp_a、timestamp_b、diff):1134987853813498785391213498786791349878539231349878724134987853915134987883613498785391613498788901

mysql - UPDATE 语句在 "query end state"

我们最近升级了运行在mysql服务器版本5.5.8上的mysql数据库。升级后,有时我们会看到简单的升级staements花费超过10秒。当我查看进程列表时,它显示所有进程都处于“查询结束”状态。有没有人对此有任何想法。UPDATEAccountsSETIPadd='xx.xx.xx.xx',updatedtime=NULLWHEREId=xx; 最佳答案 我在这里检查了一些解决方案,然后想到了这个link.添加这一行(如果它存在编辑它):innodb_flush_log_at_trx_commit=0在/etc/my.cnf中然而

mysql - 在寻找饮料时找到最近的酒吧

问题:找到最近的供应我要找的饮料的酒吧。在这里你可以找到生成的MySQL代码http://pastebin.com/5Uc2ewUW与这个问题交互的APIRequest会有这些参数query,String,ideallythedrinknamelng,double,thestartinglongitudelat,double,thestartinglatituderange,integer,maxdistanceinmeters(withadefaultvalue)查询参数可能会选择不止一种饮料(考虑搜索“Vodka”)。编写性能良好的SQL查询的好策略是什么?我不是很专业,但是我的想

mysql - "Packet for query is too large"在带有 mysql 的 java web 应用程序中

我有一个在ubuntu上的tomcat7上运行的Web应用程序,并连接到同一台机器上的mysql数据库。为了管理连接,我正在使用Hikari数据源并使用Hibernate作为ORM。运行服务器几天后,我开始在日志文件中遇到以下问题,并且所有请求开始失败Causedby:com.mysql.jdbc.PacketTooBigException:Packetforqueryistoolarge(1317>1024).Youcanchangethisvalueontheserverbysettingthemax_allowed_packet'variable.我已经在mysql服务器中设置了

mysql - Golang db.Query with sql join

我想查询一个问题及其所有答案。以下两个函数工作得很好。问题是我认为这应该在一个函数中通过一个查询来完成。(为简洁起见,我删除了错误检查)。funcQuestionById(idstring)(*Question,error){question:=new(Question)_=db.QueryRow("select*fromquestionwherequestion.id=?",id).Scan(&question.Id,&question.LessonId,&question.Body,&question.Type,)returnquestion,nil}funcAnswersByQu

mysql - 选择具有三个 where 条件的查询较慢,但具有三个 where 条件中的任意两个组合的相同查询很快

我有以下查询:SELECTtable_1.idFROMtable_1LEFTJOINtable_2ON(table_1.id=table_2.id)WHEREtable_1.col_condition_1=0ANDtable_1.col_condition_2NOTIN(3,4)AND(table_2.idisNULLORtable_1.date_col>table_2.date_col)LIMIT5000;我有以下键和索引:table_1.id主键。table_1.col_condition_1上的索引table_1.col_condition_2上的索引table_1.col_co

mysql - 优化两个大表上的简单查询

我正在尝试提供一项功能,让我可以显示friend查看最多的页面。我的friend表有570万行,View表有530万行。目前我只想对这两个表运行查询并找到一个人的friend查看次数最多的20个页面ID。这是我现在的查询:SELECTpage_idFROM`views`INNERJOIN`friendships`ONfriendships.receiver_id=views.user_idWHERE(`friendships`.`creator_id`=143416)GROUPBYpage_idORDERBYcount(views.user_id)descLIMIT20这是解释的样子:

mysql - 什么更好 : joins or multiple sub-select statements as part of one query

性能方面,什么更好?如果我的查询中有3或4个join语句或使用嵌入式select语句作为一个查询的一部分从我的数据库中提取相同的信息? 最佳答案 我会说联接更好,因为:它们更易于阅读。您可以更好地控制是要执行内部、左/右外部联接还是完全外部联接不能轻易滥用连接语句来创建可憎的查询使用联接,查询优化器可以更容易创建快速查询(如果内部选择很简单,结果可能相同,但对于更复杂的东西,联接会起作用更好)。嵌入的select只能模拟left/rightouterjoin。有时您无法使用联接来做某事,在这种情况下(并且只有在那时)您将不得不求助于

mySQL - 如何解释我的 EXPLAIN 结果并优化此查询?

希望了解我的EXPLAIN结果在这里的含义,并尽可能优化此查询和我的表。查询:SELECTi.pending,i.itemid,i.message,i.cid,i.dateadded,i.entrypoint,SUM(CASEWHENv.direction=1THEN1WHENv.direction=2THEN-1ELSE0END)ASvotes,c.nameAScname,c.tagASctag,i.userid,(SELECTCOUNT(commentid)FROM`comments`WHEREcomments.itemid=i.itemid)AScommentcount,CASE