2013-03-05 24 views
0

我正在使用java。我在對象級別有2000個關鍵值,並且必須從數據庫中獲取該值的相應記錄。我發現臨時表意見 here,但不會影響性能嗎?如何在單次插入中插入這些值,以便我可以減少數據庫調用的數量?如何在IN條件下使用超過1000個值?

+0

臨時表是公認的解決方案。你爲什麼認爲這會影響性能? – 2013-03-05 13:51:36

+0

示例代碼和值將會很有用。 – 2013-03-05 13:51:44

+0

您可以使用JOIN而不是IN。 – user 2013-03-05 13:52:09

回答

6

您可以使用

col1 in (1,2...) or col1 in (1001, 1002...) 
+0

謝謝Evgeniy ..我想我可以寫一些代碼邏輯,並動態地填充它.. – Samurai 2013-03-05 14:55:22

1

我想說的臨時表是要走的路。它會影響性能嗎?是的,它可能比僅對所有值進行硬編碼稍慢。但是你不能擁有所有的東西 - 如果你不想硬編碼所有的值,你將不得不接受性能的小幅下降。我認爲取捨是令人滿意的,特別是因爲影響可能會相當小。

1

for one in clause - you can not。請參閱討論here

+0

是的,我知道這是不可能在甲骨文方..我問的代碼級解決方案.. – Samurai 2013-03-05 14:53:43

相關問題