`

处理sql server数据的经过,又学了一点点!

阅读更多
问题描述如下:
      首先数据库在187上,当前跑的数据库是album,另一个备份数据库是album_back,这个是我防止处理数据出错而把最初整理好的18万条数据放在了里面的cn_crazyasp_album_image_TImage表中,另外2张表一个是preview一个是TAlbum都是空白表.
      说说处理过程,18万条数据分为2类,一类是活动照片记录,类型标记(ownerType)为activity;一类是个人照片记录,类型标记(ownerType)为user.这18万条数据目前不输入任何相册,其albumId都为null(当然在album 库中已有50000条albumId > 0了);
      现在需要的过程是:遍历每条数据,根据这条数据的ownerType和ownerId去建立相册,即给每个活动建立一个默认的相册,放其相关的照片;对每个用户也建立一个默认的相片,存放其原来发的相片;建立好相册,把相册的id,放在这条记录的albumId中来;同时根据此记录中的图片地址url,去生成四张缩略图,同时往preview表里写入四条记录。
      按照我最初的想法,就是写一个方法,配置为webwok的action或spring的定时任务来跑。方法很好写,但问题是处理起来要费好多时间!最后还是我们大哥提议用sql脚本写,直接在查询分析器里执行,当然这样先不考虑缩略图了。大体的sql 语句如下:

/*
select count(*) from cn_crazyasp_album_image_preview_TPreview --401786
select count(*) from cn_crazyasp_album_image_TImage --182030
select count(*) from cn_crazyasp_album_TAlbum --2124
*/
--复制图片对象表,包括数据和表结构
--select * into TImage from cn_crazyasp_album_image_TImage
--14秒

--select top 100 * from TImage
--select top 1 * from cn_crazyasp_album_TAlbum where ownertype='user'

--用户图片总数
--select count(*) from TImage where ownertype='user' --100012

--为所有活动和用户创建对应的相册
---INSERT INTO TAlbum (ownerType,ownerId,authorId) select ownerType,ownerId,authorId from TImage group by ownerType,ownerId,authorId
--23137行记录

--更新图片对象所属的相册的编号
/*
update TImage set TImage.albumId=(select a.id from TAlbum as a
where a.ownerType=TImage.ownerType and a.ownerId=TImage.ownerId and a.authorId=TImage.authorId)
*/



1.-----------------------------------------------
insert into cn_crazyasp_album_image_preview_TPreview(ownerId,url) select a.id,a.url from cn_crazyasp_album_image_TImage as a

2.把url颠倒次序

UPDATE cn_crazyasp_album_image_preview_TPreview
SET url = REVERSE(url)

3.把扩展名都去掉

UPDATE cn_crazyasp_album_image_preview_TPreview
SET url = REPLACE(url, LEFT(url, 4), '')

4.再把url颠倒过来

UPDATE cn_crazyasp_album_image_preview_TPreview
SET url = REVERSE(url)

5.把以下语句执行3次

INSERT INTO cn_crazyasp_album_image_preview_TPreview
      (ownerId, url)
SELECT ownerId, url
FROM cn_crazyasp_album_image_preview_TPreview a
WHERE (id < 182018)
6.
UPDATE cn_crazyasp_album_image_preview_TPreview
SET height = 500, width = 500, type = 'big', nsize = 0
WHERE (id > 546051) AND (id < 728069)
7.为相册建立封面的sql语句
UPDATE cn_crazyasp_album_TAlbum
SET image =
          (SELECT TOP 1 CONVERT(varchar(30), YEAR(m.inTime), 101)
               + '-' + CONVERT(varchar(30), MONTH(m.inTime), 101) + '/' + m.url
         FROM cn_crazyasp_album_image_TImage AS m
         WHERE m.authorId = cn_crazyasp_album_TAlbum.authorId AND
               m.ownerId = cn_crazyasp_album_TAlbum.ownerId
         ORDER BY id DESC)
WHERE (id < 23138)
分享到:
评论

相关推荐

    剑儿SQL Server内存释放器 V3.3

    由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存。所以很多时候,我们会发现运行Sql Server的系统内存往往居高不下。这些内存...

    SQL Server内存释放器 v3.3

    由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存。所以很多时候,我们会发现运行Sql Server的系统内存往往居高不下。这些内存...

    Java SQL server 数据库课程设计 图书馆管理系统

    SQL Server是一款关系型数据库管理系统,由微软公司开发,广泛用于存储和管理各种类型的数据。在图书馆管理系统中,SQL Server将存储图书信息(如书名、作者、出版社、库存量等)、借阅记录、会员信息等数据。SQL...

    SqlServer+jsp+mvc三层架构实现的易买网购物商城平台

    综上所述,"SqlServer+jsp+mvc三层架构实现的易买网购物商城平台"是一个综合运用了现代Web开发技术的项目,它利用SQL Server作为数据存储,JSP和MVC模式实现前后端分离,同时借助JSON和Ajax优化用户体验。...

    剑儿SQL Server内存释放器 v3.3.zip

    由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存。所以很多时候,我们会发现运行Sql Server的系统内存往往居高不下。这些内存...

    剑儿SQL Server内存释放器1.0

    由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右),Sql Server才会释放一点点内存。所以很多时候,我们会发现运行Sql Server的系统内存往往居高不下。这些内存...

    jsp分页技术 jsp servlet sqlserver

    - 使用了`com.microsoft.jdbc.sqlserver.SQLServerDriver`驱动连接SQL Server数据库。 - 定义了一个名为`Student`的表,包含`id`、`name`、`age`和`sex`字段。 - 插入了一些测试数据到`Student`表中。 - 定义了一个`...

    SQLserver+C#实现的KTV点歌系统 有数据库歌手图片 各种样式

    在本项目中,"SQLserver+C#实现的KTV点歌系统 有数据库歌手图片 各种样式",我们主要探讨的是如何利用Microsoft SQL Server数据库和C#编程语言来构建一个功能完备的KTV点歌系统。这个系统不仅包含基础的点歌功能,还...

    数据库课程设计(sqlserver)--餐厅点餐系统

    餐厅点菜是餐厅日常工作中非常重要的一项,关系到餐厅日常工作效率。传统的点菜方式工作量大、耗时长且易出问题。一项好的餐厅点菜系统可以顺利解决这些问题,并且可以满足许多大型餐厅的需求,从而使工作效率提高且...

    SQLServer系统表研究论文.doc

    SQL Server的系统表是数据库管理系统的核心组成部分,它们存储着关于数据库对象、用户、权限以及服务器配置等关键信息。在Microsoft SQL Server中,系统表被分为两类:数据库目录表和服务器目录表。数据库目录表包含...

    【Node-Red、SQL Server】学生管理系统

    适用人群:低代码,会使用SQL语句,有一点点编程基础即可。 资源包含有Node-Red源码与SQL Server数据库的bak文件 系统说明:首先登录界面中包含有教师和学生,其中教师模式下,账号密码均为admin为管理员模式 #管理...

    GBABOOK BBS v1.2 for SQL Server.rar

    金钱系统、道具、恶搞,在聊天讨论之余还有一点点小趣味。 新增功能: 1. 新增帖子内容页面显示用户头像功能,并且管理员和用户可以根据自己的喜好设置浏览模式(简洁版或头像显示版)。 2. 新增WAP浏览功能,手机...

    SQL21自学通

    描述部分提到“每天进步一点点,21天精通SQL”,强调了学习计划的渐进性和完整性,鼓励学习者每天都坚持学习,通过连续21天的系统学习,能够达到精通SQL的目标。这种方法强调了学习的持续性和持之以恒的重要性。 ...

    2个SQL优化语句,查询出来哪条SQL语句占据资源最多.rar

    1. **性能监控**:了解SQL语句的执行情况是优化的第一步。数据库通常提供了丰富的性能监控数据,如`V$SQL`(Oracle)和`Performance Schema`(MySQL)。 2. **资源消耗指标**:CPU时间、执行次数、总执行时间等都是...

    一点点成就感

    标题“一点点成就感”暗示了我们在讨论某个技术成就,可能是在音频处理方面,因为描述中提到了支持多种音频格式转换,如MP3和WAV。在IT领域,这通常涉及到音频编码和解码技术。 MP3(MPEG-1 Audio Layer 3)是一种...

    USF_Aviation_Project:USF Aviation项目SQL Server代码

    USF_Aviation_Project 是一个基于SQL Server的数据库项目,主要用于处理与航空相关的数据和业务逻辑。在这个项目中,SQL Server被用作核心的数据存储和管理平台,为用户提供高效、稳定的数据服务。以下是对该项目中...

    毕业设计:asp+SQLServer网上书店系统设计(源代码)

    2.大批流并行数据访问操作,为保证数据库的完整性,所以运用事务处理方式对并行数据进行处理。 4.销售书籍后马上更新库存,及时的书籍报警,能马上知道书籍的缺货,溢出状态。 5.即时更新采购产品报表,使得你的采购...

    基于SQL人事管理系统设计与实现数据库课程设计.doc

    而SQL SERVER 2005作为数据库管理系统,具备图形化的管理工具,支持集中式管理、多客户端应用程序、数据复制和分布式事务处理等功能,提供了强大的数据存储和处理能力。 在开发环境中,ASP技术允许开发者使用如C#、...

    GBABOOK BBS v1.2 for Access.rar

    负载能力强,优秀的数据库设计,每一个索引都经过了认真的规划,SQL Server版在千万级别的数据量下,速度仍然飞快。 金钱系统、道具、恶搞,在聊天讨论之余还有一点点小趣味。 1.1版加入了快速方便的附件上传、金钱...

Global site tag (gtag.js) - Google Analytics