草庐IT

query-optimization

全部标签

mysql - Like 和 '=' 等于 sql - mysql 集群中的操作符性能

MySQL-Cluster-gpl-7.4.12-1.el6.x86_64查询1selectuserinfo.username,userinfo.firstname,userinfo.lastname,userinfo.email,radcheck.attribute,radcheck.`value`,radusergroup.groupname,userinfo.id,userinfo.account_type,userinfo.workphone,userinfo.homephone,userinfo.mobilephone,userinfo.address,userinfo.zo

php - 性能 : SQL Queries vs Server-Side PHP Loops (MYSQL vs PHP)

我没有看到太多关于这个主题的信息,需要一些数据。我不熟悉使用复杂的MySQL查询,我想知道复杂查询与简单查询相比的性能成本,然后在其上运行服务器端php计算。例如:“简单”查询:SELECTidasID,date(x_date),v_priceaspriceFromtableXWHEREv_priceIN(selectMIN(v_price)fromtableXGROUPBYweek(x_date)))现在假设我想计算类似价格出现的次数。我可以通过两种方式做到这一点。A)使用foreach循环服务器端php并计算数据B)在sql中做另一个选择groupbypriceORDERBYCOU

php - 为什么 mysqli QUERY 有效,但相同的 PREPARED 语句版本返回 SQL 语法错误?

好的,所以我现在已经折腾了2个小时,无法弄清楚所谓的SQL语法错误在哪里。我最终将准备好的语句重写为标准查询-它工作正常,语法完全相同。准备好的声明代码:(不工作)if($account_info=$mysqli->prepare("SELECTusers.specid,users.username?FROMusers?WHEREusers.id=?")){//ASWITCHtodeterminebind_paramandbind_result}else{//Erroroutput}以上结果导致以下MYSQL错误:YouhaveanerrorinyourSQLsyntax;checkt

mysql - 优化 ORDER BY

我正在尝试优化此查询,该查询按reputation字段(第1个)然后是id字段(第2个)对posts进行排序。没有第一个字段查询需要~0.250秒,但它需要~2.500秒(意味着慢10倍,太糟糕了)。有什么建议吗?SELECT--everythingisokhereFROMpostsASpORDERBY--1st:sortbyreputationifexists(1reputation=1day)(CASEWHENp.created_at>=unix_timestamp(now()-INTERVALp.reputationDAY)THEN+p.reputationELSENULLEND

php - Mysql - 执行查询花费太多时间

所以首先我的mysql表是这样定义的:订单(333000+条记录)orders_id(PK),customerName,CompanyName,Status,shipping_no,shipping_module,tracking_no,orders_status,date_purchased..订单状态(70条记录)orders_status_id(pk),language_id,orders_status_nameorders_status_history(2220000多条记录)`orders_status_history_id`int(11)`orders_id`int(11)

mysql - 如何将 mysql 慢查询日志解析成有用的东西?

我有一个运行了几周的大量慢速查询日志。我想解析它,这会将出现次数最多的查询放在顶部(执行次数和平均执行次数),然后按降序排列。我可以使用什么工具/命令来完成它? 最佳答案 查看Maatkit:mk-query-digest-解析日志等。分析、转换、过滤、审查和报告查询。 关于mysql-如何将mysql慢查询日志解析成有用的东西?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1

php - Mysql Join Query 多次给出相同的结果

我有两张table。一种是items,一种是tags。查询的here.想法是创建一个搜索框来搜索项目,然后通过选择标签来缩小搜索范围。(某种分面搜索)。在摆弄mysql教程之后,我想到了这个:SELECT`items`.`id`,`items`.`name`,`items`.`pay`,`items`.`desc`FROM`items`LEFTJOIN(`tags`)ON(`tags`.`item_id`=`items`.`id`)WHERE((`tags`.`type`='food'AND`tags`.`name`='pizza')OR(`tags`.`type`='drinks'A

php - 尝试构建一个动态的 PHP mysql_query 字符串来更新一行并取回更新的行

我有一个jQuery跟踪onChage.change()事件的表单,因此当某些内容发生更改时,它会运行一个ajax请求,我传入列、id和url中的值。这里我有应该更新数据的PHP代码。我现在的问题是如何动态构建mySQl字符串。以及我如何回显数据库上刚刚更改的更改/更新。这是我尝试使用的PHP代码。这个例子可以吗?$sqlUpdate='UPDATE`plProducts`.`allPens`SET"{$collumn}"="{$val}"WHERE`allPens`.`prodId`="{$id}"LIMIT1;'; 最佳答案 使

sql - 同一张表上的 4 个查询,更好的方法是什么?

目前我正在做一个查询,有3个子查询,所有查询都在同一张表上,所有查询都有不同的where子句我想过做一个分组但是这会破坏SUM()这里是查询SELECTSUM(club)ASclub,(SELECTCOUNT(id)FROMaction_6_membersWHERESUBSTR(CODE,1,1)='9')AS5pts,(SELECTCOUNT(id)FROMaction_6_membersWHERESUBSTR(CODE,1,1)='A')AS10pts,(SELECTCOUNT(id)FROMaction_6_membersWHERESUBSTR(CODE,1,1)NOTIN('9

mysql - 索引这个 mysql 查询

我正在使用以下查询查询数据库。此查询需要21秒才能执行。我已经通过解释查询进行了检查。我在字段groupId,batchId上分别有索引。EXPLAINSELECTmessage,sentOn,maskId,isDndCheck,contentTypeFROMsms_historiesWHEREgroupId=1750GROUPBYbatchIdORDERBYbatchIdDESCLIMIT0,1我正在通过此查询获取组的最后一个帖子。我的解释查询显示结果idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1SIMPLEsms