表结构如(其中姓名不唯一,数据库是PGSQL):
user(姓名,性别,年龄)
temp(姓名,性别,年龄)SQL语句如下:
UPDATE user set 年龄 = temp.年龄
FROM temp
WHERE user.姓名 = temp.姓名 and user.性别 = temp.性别我现在主表有两万条记录,临时表有一万条,从开始运行此SQL到现在将近5000千秒了还在跑,效率实在低下,哎。
于是我想到用这样的句式:UPDATE TAB SET C=(子查询) ,但是在手册上看了半天才发现,PGSQL不支持这样的子查询。
我网上又查了,再改为:
UPDATE user INNER JOIN temp ON user.姓名 = temp.姓名 and user.性别 = temp.性别
SET user.年龄 = temp.年龄还是报错。这不,没主意了,所以特此发帖向大家讨教来了,我是第一次来这个版块,大家可要多多光照啊!
user(姓名,性别,年龄)
temp(姓名,性别,年龄)SQL语句如下:
UPDATE user set 年龄 = temp.年龄
FROM temp
WHERE user.姓名 = temp.姓名 and user.性别 = temp.性别我现在主表有两万条记录,临时表有一万条,从开始运行此SQL到现在将近5000千秒了还在跑,效率实在低下,哎。
于是我想到用这样的句式:UPDATE TAB SET C=(子查询) ,但是在手册上看了半天才发现,PGSQL不支持这样的子查询。
我网上又查了,再改为:
UPDATE user INNER JOIN temp ON user.姓名 = temp.姓名 and user.性别 = temp.性别
SET user.年龄 = temp.年龄还是报错。这不,没主意了,所以特此发帖向大家讨教来了,我是第一次来这个版块,大家可要多多光照啊!
解决方案 »
- id parentId 查询 求帮忙
- MYSQl 函数问题
- 求centos系统下 xtrabackup备份工具的下载安装文档!
- 这个SQL语句怎么写啊!!急急如律令!!1
- 我们公司用的是MySQL+.NET,运行一段时间以后,总是出现超过最大连接池,这样网站就报错了,怎么回事?怎么解决?
- 急求mysql性能监视工具
- mysql 多线程的问题
- 请教诸位朋友一下,时间戳查询本周数据怎么写。
- 请问 references 有什么用??2个 mysql基础,请指点一下
- 求助 SQL 语句
- 请问这个语句应该优化
- 请问在mysql数据库中的,在安装目下有个data子目录,里面有个db.opt文件,请问这个文件有什么作用?是用来做什么的?
Inserted into temp 9744/19996 records(58.6621 seconds).
Inserted into temp 19481/19996 records(59.1150 seconds).
Inserted into temp 19996/19996 records(1.0320 seconds).
start update, updated 19996/19996 records(4.3866 seconds).
start add new, added 0/19996 records(0.1325 seconds).
All count 19996/19996 records At user_key_tree.
Timer: 126.3738 secondes