易截截图软件、单文件、免安装、纯绿色、仅160KB

Sql在Mysql的执行

     昨天解析了dblp.xml,存入数据库,生成了若干张临时表。今天上午,对这些临时表进行处理,然后存入实验设计的表中。数据库的数据量比较大,50多M,80多万条记录。因而执行sql时,就遇到了很多问题。
1、去除重复tuple
     原始dblp.xml中,同一论文的存在几个完全相同的<cite>,所以要对数据库中的数据进行处理。网上搜到一段代码:
   1) 查询某些属性相同tuple的方法
    select * from vitae a where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having     count(*) > 1)
   2)删除某些属性相同tuple的方法
   delete from vitae a where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
   and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
    我先执行了1,是在一个有79,000条记录的表上执行的。数分钟后(10分钟以上),结果顺利出来。然后我在记录数为212,273的表上执行2,很久之后还没有出结果。于是我又执行了1),放在532,555条记录的表上。这下情况不妙,电脑直接死机了,cpu100%疯狂地运转着。正常关机都不行,最后只好强行按下了关机键。
   重启后,我不死心,在532,555条记录的表执行1。1.5小时过去了,还没有结果出现。
   看来下午要好好研究一下sql在mysql的执行效率了。
2、select into
   Mysql中不支持select into table的语法,但可以用以下2个语句替代。
   1)create table table_new (select * from table_old);
   2)insert into table_new(name,password...) select table_old.name, table_old.password  from table_old where    
        table_old.name="ct";


相关文档:

SQL Server中 char与varchar  

固定长度(char)与可变长度(varchar)字符数据类型
char[(n)]
长度为n个字节的固定长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为n个字节。char在SQL-92中的同义词为character。
varchar[(n)]
长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为 ......

关于SQL Server数据库设计的感悟

转载自:http://www.cnblogs.com/leonbao/archive/2008/03/07/1094821.html
关于SQL Server数据库设计的感悟,请指教
有问题的时候,我经常回来博客园寻找答案,久而久之,总结了一些东西。
妄自菲薄,请大家多指出错误,并给出意见
数据库设计三范式基本原则
第一范式:数据库表中的字段都是单一属性的,不可再分。这 ......

MySQL的自增字段


1.关键字 
auto_increment
2.自增用法 
例: 
CREATE TABLE animals ( id mediumint not null auto_increment, 
name char(30) not null, 
primary key (id));
3.关于自增
Q:怎么获得当前的自增的最大值?
A:select @@identity
Q:怎么获得table的当前自增最大值? 
A:select max(i ......

通过v$sqlarea,v$sql查询最占用资源的查询

通过v$sqlarea,v$sql查询最占用资源的查询 收藏
 引用:http://blog.chinaunix.net/u/3866/showart_396335.html
-----------------------
v$sqlarea,v$sql
-----------------------
从V$SQLAREA中查询最占用资源的查询
select b.username username,a.disk_reads reads,
    a.executions exec,a ......

sql server 判断表/视图/存储过程是否存在

--如果是实表可以用
if exists (select * from sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[表名]
--如果是临时表可以用(说明,如果用查找实表方法来打临时表会找不到.发布区别对代.)
if object_id('tempdb..##temp') is not null
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号