當前位置:首頁 » 編程語言 » sql變慢原因
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql變慢原因

發布時間: 2022-06-12 03:43:49

sql SERVER資料庫響應很慢一般都有哪些原因

資料庫最主要的就是資料庫設計冗餘,還是sql語句之類的,還有就是用存儲過程比一般的sql語句快等到;其次就是編程代碼的問題,例如if
else
if
else
if
else這個判斷的,如果用switch的話就會快很多

② 求助,sql執行突然變慢,求助各位了

到這個數量級的全部更新,肯定會很慢。
第一。你的記錄不一定在同一個partition,
第二。不明白為什麼那麼多人建議你建索引,你建的索引越多,你的更新速度越慢,因為你更新記錄的同時,還有更新索引。
第三。你必須知道更新速度慢的瓶頸在哪裡。是讀寫太多,還是內存不夠,還是CUP不夠快,然後對症下葯。
下面介紹兩個簡單的辦法,也許有效:
第一:
把這個100W行的表縱向劈成兩個,用外鍵關系連接,一個裝小的,經常改變的數據比如ID,外鍵,狀態值,時間等,另一個裝大的,不經常改變的數據,比如很長的字元串,xml,text 等。
這樣更新時操作小的這個表,可以大大節約內存和CPU 開銷,降低磁碟操作。
壞處就是查詢時會慢些。
第二:
把這100W行橫向切成很多個表,比如每個月的記錄裝在一個表裡,這樣每個表的記錄數可能只有幾萬,查詢,更新都會快很多。
壞處是查詢,更新都不如原來好寫。

③ 最近我的資料庫(sql)查詢速度很慢,這是什麼原因

查詢慢是和表結構,語句,系統等相關的 建索引等方法都可以改善表結構, 另外如果返回數據量很大,當然會慢,所以你盡量查詢相對有用的數據 再就是查詢語句了 比如用in查詢沒有jion查詢快,還有 between 改成 > <會快 再還有,用子查詢也會慢很多, 如果是一些很復雜的查詢,可以改用存儲過程會好點,有時用臨時表會慢但,從海量數據中查詢取數進行子查詢又不如用臨時錶快,不同的問題用不同的解決方法,看你要哪種了,單看你的問題無法直接判斷。 不過,優化查詢句是關鍵的了。

④ sql運行緩慢怎麼排查

這種情況就要看數據表上是不是有好幾百萬條導致查詢慢的,如果是數據比較多的情況下,建議做分表這舊的數據遷到分表上,這樣可以提高查詢速度

⑤ SQL 語句執行感覺很慢,怎麼回事

到這個數量級的全部更新,肯定會很慢。
第一。你的記錄不一定在同一個partition,
第二。不明白為什麼那麼多人建議你建索引,你建的索引越多,你的更新速度越慢,因為你更新記錄的同時,還有更新索引。
第三。你必須知道更新速度慢的瓶頸在哪裡。是讀寫太多,還是內存不夠,還是CUP不夠快,然後對症下葯。

下面介紹兩個簡單的辦法,也許有效:
第一:
把這個100W行的表縱向劈成兩個,用外鍵關系連接,一個裝小的,經常改變的數據比如ID,外鍵,狀態值,時間等,另一個裝大的,不經常改變的數據,比如很長的字元串,xml,text 等。
這樣更新時操作小的這個表,可以大大節約內存和CPU 開銷,降低磁碟操作。
壞處就是查詢時會慢些。
第二:
把這100W行橫向切成很多個表,比如每個月的記錄裝在一個表裡,這樣每個表的記錄數可能只有幾萬,查詢,更新都會快很多。
壞處是查詢,更新都不如原來好寫。

⑥ was首次sql過慢

was首次sql過慢的原因是程序設計缺陷或者內存不足。
常見的原因有以下幾種:
1、沒有索引或者沒有用到索引(查詢慢最常見的問題,是程序設計的缺陷)。
2、I/O吞吐量小,形成了瓶頸效應。
3、沒有創建計算列導致查詢不優化。
4、內存不足。
5、網路速度慢。
6、查詢出的數據量過大(可以採用多次查詢,其他的方法降低數據量)。
7、鎖或者死鎖(這也是查詢慢最常見的問題,是程序設計的缺陷)。
8、sp_lock,sp_who,活動的用戶查看,原因是讀寫競爭資源。
9、返回了不必要的行和列。
10、查詢語句不好,沒有優化。

⑦ SQL為什麼有時不會自動並行執行,導致很慢

原因有很多的。

  • 主鍵約束。

    當數據量達到百萬以上的時候,你用主鍵去搜索某一條數據時速度是極快的。但當你不用主鍵去搜索的時候速度就降了幾十倍甚至上百倍,這個是主鍵的好處。

  • 索引。

    當你的表欄位設置有索引的時候,搜索速度比不創建索引要快幾倍至幾十倍。

  • sql語句不夠優化。

    在查詢某數據的時候,能不用*就盡量不用,想要哪個欄位就查哪個,多餘的不要,這樣就能達到數據傳輸精簡化,讓查詢速度也能快上許多。

  • 多表聯合查詢。

    在大數據量的時候這個多表查詢盡量不用,畢竟是很耗內存的,寧願用其他語言循環執行簡單的 select 欄位 from 表名 where 條件 這樣的簡單sql語句,這樣也能加快速度。