2010-09-08 81 views
0

我有一個訪問約180k記錄的表。我有一堆我測試過的sql語句,可以在我的數據的較小版本上完美工作。有了訪問&那麼多的記錄,事情是非常緩慢的,但是一個帶有Dconcat函數的sql語句,我甚至讓它在一夜之間運行,甚至沒有接近1/4的方式。訪問性能,mysql嵌套函數

我認爲Jet引擎不會爲所有這些記錄剪切它,我將我的數據傳輸到MySQL並添加了主鍵。在訪問中,我通過ODBC將表「連接」到mysql,並且仍然給出了永久使用的跡象。

我想我最好的選擇是使用本機mysql函數並在mysql中執行我的sql。我的訪問函數連接並提取總額那是媒體鏈接有(Tqty),給這個樣的結果:

姓名,班級,Tqty,數量
喬,A,20,10
喬,A,20 9

喬,A,20,1種

喬,b,30,30

名,classWTqty
喬,一個(20)b(30)

(注:在訪問我做了列Tqty因爲我遇到了麻煩,在我原來的dconcat接入功能相加數量)

我發現那裏有MySQL中的CONCAT & GROUP_CONCAT函數,它可能做的伎倆,否則我想我必須做一個用戶定義的函數,除非有一種方法可以嵌套,我不知道這些方法。你有什麼建議?

回答

0

我不確定爲什麼你需要Dconcat,你應該能夠做你想要的直接查詢。

+0

我想象你的意思是MySQL查詢。所以我想象你的說法,你也可以嵌套Concat&group_concat?怎麼樣? – Mike 2010-09-08 18:52:45

+0

不,我的意思是訪問查詢。查詢180K記錄不應該在Access中花費那麼長時間。 DConcat功能可能會導致您的性能下降。請嘗試在Access中使用聚合查詢。 – Beth 2010-09-08 18:56:43