mysql打開sql文件,mysql執行程序_Sql在Mysql的執行

 2023-11-30 阅读 24 评论 0

摘要:昨天解析了dblp.xml,存入數據庫,生成了若干張臨時表。今天上午,對這些臨時表進行處理,然后存入實驗設計的表中。數據庫的數據量比較大,50多M,80多萬條記錄。因而執行sql時,就遇到了很多問題。1、去除重復tuple原始dblp.xml中

昨天解析了dblp.xml,存入數據庫,生成了若干張臨時表。今天上午,對這些臨時表進行處理,然后存入實驗設計的表中。數據庫的數據量比較大,50多M,80多萬條記錄。因而執行sql時,就遇到了很多問題。

1、去除重復tuple

原始dblp.xml中,同一論文的存在幾個完全相同的,所以要對數據庫中的數據進行處理。網上搜到一段代碼:

1) 查詢某些屬性相同tuple的方法

select * from vitae a where (a.peopleId,a.seq) in? (select peopleId,seq from vitae group by peopleId,seq? having???? count(*) > 1)

mysql打開sql文件?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的執行效率了。

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";

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/186014.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息