[SQL ] Excel連線SQL Server效率問題

看板Database (資料庫)作者 (吶喊的力量)時間7年前 (2017/03/24 10:16), 7年前編輯推噓2(2011)
留言13則, 3人參與, 最新討論串1/1
資料庫名稱:SQL Server 資料庫版本:2008 R2 內容/問題描述: 先前情提要一下,近期因同事業務需求,接手了一份與SQL Server連線的Excel檔 但我從來沒碰過SQL...(抖 因為每次開啟都需要花上2分半鐘以上的時間,咱老闆覺得效率太差,影響工作 而且開啟時,會不時與Server連動,造成程式停擺,影響日常業務 同事希望能改善此問題 開啟檔案時,"似乎"都在建構一個約10萬筆資料的表格(含有50幾個欄位) 說似乎是因為我對Excel連線SQL Server的方式不是很熟悉,不太確定是否這樣運作 建構完成後,使用者可以下SQL指令,接著便會從10幾個資料表中去找需要的資料 (如:上半季的資料),然後組該表格 這10幾個資料表有大有小,小的幾10筆資料大則60幾萬筆。 總而言之就是從每個Sheet去撈我要的東西,然後組成一個表格這樣 看了SQL寫法後,發現架構滿單純的:從10幾個資料表中去SELECT需要的欄位且改名 如此重複50幾次(有WHERE、CASE判斷) 之後就把資料表一個個INNER JOIN 想請問各位大大: 1. 是否因為資料量大,造成執行速度很慢? 2. 是否SQL寫法還有待調整?因為對SQL只認識了三天 不確定是否因為一連串的JOIN導致執行速度超慢 3. 還未確定是否已經設定INDEX。若有設定,還能從哪邊下手來改善? 感謝各位大大耐心看完問題,新手上路請多包涵! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.185.211 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1490321805.A.955.html

03/24 11:35, , 1F
我是先寫好STORR PROCDURE 來讓EXCEL抓 ,希望對你有幫助
03/24 11:35, 1F
好的,我會研究看看Store procedure,感謝!

03/24 16:56, , 2F
我的話,工作表、資料表1對1,然後產index去設定欄位
03/24 16:56, 2F

03/24 16:57, , 3F
60萬筆很少啦…每個資料表要有互相對應的欄位,去對應
03/24 16:57, 3F

03/24 16:57, , 4F
這樣未來維護、跟提昇速度…等,才會比較好。
03/24 16:57, 4F
可否請教一個問題,如果像我這種情況,多久之內執行完畢才算正常?

03/28 12:31, , 5F
先建資料表吧…建完再看結構、欄位、sql是否要調整?
03/28 12:31, 5F

03/28 12:31, , 6F
沒有所謂多久內執行完算正常的,比之前更快才是目的
03/28 12:31, 6F
受教了!感謝大大指教

03/28 23:06, , 7F
一定要用excel?
03/28 23:06, 7F
Long大有更好的方式嗎?主要只是想要把資料整理出來,欄位多又雜 用Excel好像是比較親民的 不過我也很願意嘗試其他方法! ※ 編輯: dumbiekbbx (61.219.166.19), 03/29/2017 08:59:39

03/29 19:58, , 8F
沒有更好的建議 會想知道excel裡面sql指令&資料表
03/29 19:58, 8F

03/29 19:58, , 9F
的意義然後 自己從命令列下指令
03/29 19:58, 9F

03/29 19:59, , 10F
或是 如果資料沒有即時性 可以copy一份計算結果出
03/29 19:59, 10F

03/29 19:59, , 11F
03/29 19:59, 11F

03/29 20:03, , 12F
然後對大量資料做join的時候要小心一點吧......
03/29 20:03, 12F

03/29 20:03, , 13F
但是你才碰三天 然後我不清楚你現場的狀況XD
03/29 20:03, 13F
文章代碼(AID): #1Or86DbL (Database)
文章代碼(AID): #1Or86DbL (Database)