Mysql查询大表出现的一个错误

第一次测试执行下面的语句时发生如下错误:bigdata里面有100万条数据

mysql> select count(*) from (select distinct(id) from bigdata) as total;

ERROR 1317 (70100): Query execution was interrupted

等了一会再执行一下就成功了

mysql>  select count(*) from (select distinct(id) from bigdata) as total;
+----------+
| count(*) |
+----------+
|   598898 |
+----------+
1 row in set (6.60 sec)

猜测有可能是系统原因,CPU或内存运行不足导致。
时间: 2024-10-09 11:37:33

Mysql查询大表出现的一个错误的相关文章

MySQL查询数据表中数据记录(包括多表查询)

MySQL查询数据表中数据记录(包括多表查询) MySQL查询数据表中数据记录(包括多表查询) 转自:http://www.baike369.com/content/?id=5355 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: select selection_list // 要查询的内容,选择哪些列 from table_list // 从什么表中查询,从何处选择行 where primary_

今天备份表数据遇到一个错误 Error CODE: 1197 Multi-statement TRANSACTION required more THAN 'max_binlog_cache_size' bytes of STORAGE

今天备份表数据遇到一个错误  Error CODE: 1197 Multi-statement TRANSACTION required more THAN 'max_binlog_cache_size' bytes of STORAGE 版本:mysql5.6.35 系统:centos6.5 下面是备份语句 CREATE TABLE FONTANA_BETSBAK AS SELECT * FROM FONTANA_BETS; Error CODE: 1197 Multi-statement T

mysql 查询库表磁盘占用

查整个库的状态:select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,          concat(truncate(sum(max_data_length)/1024/1024,2),'MB') as max_data_size,          concat(truncate(sum(data_free)/1024/1024,2),'MB') as data_free,          conc

MySQL 对于大表(千万级),要怎么优化呢?

提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节: 2.数据项:是否有大字段,那些字段的值是否经常被更新: 3.数据查询SQL条件:哪些数据项的列名称经常出现在WHERE.GROUP BY.ORDER BY子句中等: 4.数据更新类SQL条件:有多少列经常出现UPDATE或DELETE 的WHERE子句中: 5.SQL量的统计比,

mysql 查询锁表

1)使用情景"判断通过后写入数据库",这个一般是不会有问题的, 但并发访问的时候就不太好搞.因为写入(insert)是需要时间的,假设现在有两个并发请求,(假设第一个访问是最后一个符合条件的写入请求,按照逻辑,第二个请求应该是不合法.不能写入的),在第一请求成功写入之前,第二请求查询到未更新的数据记录,因为记录是未更新的,所以它也是可以通过判断的.最后导致两个请求都写入数据了. 2)解决办法:查询锁表 在我处理完入库前,查都不让你查了,这样就不会判断错误了吧 3)锁表语句 LOCK T

Mysql Join大表小表到底谁驱动谁

1.准备 mysql> create table dept( id int unsigned auto_increment not null primary key, name varchar(20) default '' not null, key(name) )engine=innodb default charset=utf8mb4; CREATE TABLE `userinfo` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255

关于Mysql 查询所有表的实时记录用于对比2个MySQL 库的数据是否异步

Xu言: 今天,为了研究一个MySQL主从同步开机后报错 问题,如下图 故障原因分析: 经过分析,可能是主从服务器开机顺序导致.(有待下次断电再次测试) 主从错误提示:日志读取错误的问题.解决方法:更新日志记录文件,重新主从同步. 担心主从问题过程中有数据写入,想去确认下主从库上的数据是否一致.想到了查询下数据库行数的方式. 网上查询了下 ,一般有2种: 方法一:查看当前表的记录行数 SELECT count(*) from 表名 方法二:"查看数据库中所有表的记录数"  # 这里之所

MySQL在删除表时I/O错误原因分析

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯数据库技术 发表于云+社区专栏 问题现象 最近使用sysbench测试MySQL,由于测试时间较长,写了一个脚本按prepare->run->cleanup的顺序在后台跑着.跑完后察看日志发现一个问题,MySQL服务的错误日志中出现多条类似以下信息的报错: [ERROR] InnoDB: Trying to do I/O to a tablespace which does not exist. I/O type: read

mysql查询-从表1中查询出来的结果重新插入到表1

原有表结构 CREATE TABLE `t_card_user` ( `id` varchar(32) NOT NULL, `card_user_id` bigint(20) DEFAULT NULL COMMENT 'UserID受设备最大用户数影响,范围为1--最大用户数.', `card_no` bigint(20) DEFAULT NULL COMMENT 'CardNo最大为4294967295(2^32次方)', `start_time` datetime DEFAULT NULL