發現問題原因
Mysql,多表聯查,或是內嵌套表查詢,是比較慢的
所以我們開發的時候,想的辦法是,先把一個表的id全查出來,組合成1,2,3,4,5 查另一個表的時候in(1,2,3,4)
速度還是可以的,
但是轉成Oracle以后,發現,只是28萬資料的一張表,竟然回傳1000-3000個id也要十來秒
但是從Oracle里大資料查找,還是很快的,只要回傳的結果不是太大,
不知道是不是有什么設定錯了,也在Oracle群里,和朋友討論了一下,
他們也不是太清楚原因,但是他們的都是專業服務器,上萬條,Plsql全顯,也是秒級的
uj5u.com熱心網友回復:
問題沒怎么看懂:1、”只是28萬資料的一張表,竟然回傳1000-3000個id也要十來秒“,這句話的意思是:28萬記錄的表單表查詢回傳1000~3000條記錄的意思嗎?每次都查詢需要10來秒?
2、另外,“但是從Oracle里大資料查找,還是很快的,只要回傳的結果不是太大”,這句話到底什么意思?
uj5u.com熱心網友回復:



我把圖片都上傳了,您看一下.
uj5u.com熱心網友回復:
依然看不懂你想表達什么?三張圖怎么和你主題帖的問題對應?我也只能猜了:最后一張圖,你查了30000多條記錄出來,花費了7秒多,這個屬于正常情況,前面都快,是因為你沒有回傳所有記錄,只是回傳了一頁,在這種情況下,先不論顯而易見的網路開銷大幅度下降,在oracle內部都可能出現不一樣的執行計劃,導致出現不一樣的性能。
uj5u.com熱心網友回復:
PL/SQL Developer 這個工具,展示大量資料時,本身就很慢,但是這個不代表查詢速度慢。最好在程式中跑一下,看看實際效果。 如果還是有明顯的差異,再上來追問。
uj5u.com熱心網友回復:
看你表的塊數,是不是經常delete ,沒有整理碎片uj5u.com熱心網友回復:
如果表的索引沒有問題,可能是ORACLE服務器的網路或者磁盤讀寫能力有問題。uj5u.com熱心網友回復:
+1,PL/SQL Developer 這個工具顯示時確實不咋地.用代碼驗證一下,query之后,直接看count.
uj5u.com熱心網友回復:
跟資料庫本身沒關系了吧,plsql展示那么多資料的時候就是沒那么快的轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/39935.html
標籤:開發
上一篇:求助 求助
