2014-02-10 47 views
1

我有一個擁有超過5000萬條記錄的數據庫。我需要查詢大約2000條具體但不相關的記錄。查詢大量記錄

有沒有辦法做到這一點,而不必鍵入每個唯一的密鑰?即從外部文件讀取它們的循環?我不是SQL專家,所以我的想法是從編程的角度來看。

回答以下問題:它們是獨特的記錄。我正在使用Oracle。現在這是一次性的事情,但它可能會成爲經常發生的事情。

我想出了使用vi編輯文本文件的想法,並做2000「從表中選擇ID」是一個腳本。不過,我想要的東西不是「蠻力」。

+0

SQL Server'SELECT TOP 2000'獲取「隨機」2000條記錄,注意「隨機」並不是真正的隨機數。 – 2014-02-10 17:31:28

+1

可能重複[如何在SQL中請求隨機行?](http://stackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql) –

+1

您需要給我們更多關於* 2000 *您想要的記錄的信息。你有他們的鑰匙,而你想要訪問那些特定的記錄?或者你只是想要任何給定的2000? 2000年ID從哪裏來?你能用特定的查詢重現同一組記錄嗎? – meagar

回答

0

這是你經常做的事,還是這是一次性事件?如果這是一個一次性的事情,我只是在vim的「在」條款與逗號連接所有的ID,並把它們插入到一個準備長查詢:

select * from my_table where id in (1, 2, 3, 4, ..., 1998, 1999, 2000) 

這取決於你的數據庫能夠處理相對較長的查詢。