Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询未返回_Mysql - Fatal编程技术网

MySQL查询未返回

MySQL查询未返回,mysql,Mysql,我不熟悉MySQL,我不知道从哪里开始解决这个查询问题 SELECT * FROM `rmedspa`.`clients` c inner join `rmedspa`.`tickets` t on c.clientid = t.clientid where c.fldclass is not null AND t.ticketID > 0 在MySQL Workbench中,该查询只需30秒即可返回,IDE将查询结果限制为1000条记录。数据库不是在我自己的机器上,

我不熟悉MySQL,我不知道从哪里开始解决这个查询问题

SELECT * 
FROM `rmedspa`.`clients` c  
inner join `rmedspa`.`tickets` t on c.clientid = t.clientid  
where c.fldclass is not null     
AND t.ticketID > 0
在MySQL Workbench中,该查询只需30秒即可返回,IDE将查询结果限制为1000条记录。数据库不是在我自己的机器上,而是在另一个位置的服务器上,换句话说,它正在接入互联网,速度很慢。如果在末尾添加order by,则查询永远不会返回

SELECT * 
FROM `rmedspa`.`clients` c  
inner join `rmedspa`.`tickets` t on c.clientid = t.clientid  
where c.fldclass is not null     
AND t.ticketID > 0
ORDER BY t.ticketid 
一个客户有很多票。t、 ticketid是一个int,clientid也是一个int


我不知道从何处开始找出ORDER BY导致此查询永远无法返回的原因。它没有失败,只是没有返回。

这篇文章是对以前评论的简短回顾,并为您提供一些有关SQL查询的提示

查询大楼

只要联接条件的列名匹配,就可以按如下方式重写联接语句: 内部联接{database}.{table}t使用{joinColumn} 检查索引-在您的例子中:连接条件和where语句的列是否已索引? mySQL结果

ORDERBY语句通常需要对内存中的结果集进行重新排序。如果您希望得到很多行和/或很多列的大结果,但没有看到结果,那么mySQL服务器没有针对这种情况进行正确配置-,
在另一个窗口中运行ShowProcessList,您将看到查询正在做什么。它的排序可能非常非常慢,因为结果集不适合可用内存,所以它在磁盘上和磁盘下进行分页。这个问题的答案将取决于很多因素。最重要的是结果集的实际大小。如果是数百万行,则服务器的排序功能可能会溢出。如果在select子句中替换count*而不是*,会得到什么结果?在哪里运行此操作?我问这个问题是因为我试图在MySQL Workbench中进行一个新的查询。你能告诉我我是一个使用术语的SQL Server人员,并且我实际上无法执行SHOW PROCESSLIST。Count*也不会返回。tickets表中只有129k条记录,clients表中只有3000条记录。啊。我根本没有能力改变这个数据库,我只是想从中获取门票——我想现在就获取所有129k门票,每天晚上只获取新的门票。这就是为什么我需要ORDER BY,因为我不能一次提取所有记录,我需要一次提取100条记录,因为我要处理它们。客户和票据行有多长?有没有包含大的LOB?您将返回129k行,其中每一行都包含两行的连接。还要注意,orderby不是划分数据的方式。为了有效地进行分区,您需要使用索引列(如clientid)和筛选子句(如x和y之间的where clientid)。