簡體   English   中英

選擇LIMIT 1在PostgreSQL上花費很長時間

[英]Select LIMIT 1 takes long time on postgresql

我正在localhost PostgreSQL數據庫上運行一個簡單查詢,並且運行時間太長:

SELECT * FROM features LIMIT 1;

我希望這樣的查詢能在幾分之一秒內完成,因為它基本上說“在數據庫中的任何地方窺視並選擇一行”。 還是沒有?

  • 表大小為75GB,估計行數為1.84405e + 008
  • 我是數據庫的唯一用戶
  • 數據庫服務器剛剛啟動,所以我猜沒有什么緩存在內存中

我完全同意@ larwa1n的評論內容。 我猜這里的原因是SELECT的性能太慢。 以我的經驗,也許還有其他原因。 我列出如下:

  • 該表太大,因此讓我們添加一些WHERE CLAUSEINDEX
  • 您的服務器/磁盤驅動器的性能太慢。
  • 其他過程占用最多資源。
  • 另一個原因可能來自維護任務,請再次檢查自動autovacuum是否正在運行? 如果不是,請檢查此表是否已vacuum 如果不是,那就在vacuum full桌子上vacuum full 有時,當您在沒有vacuum情況vacuum對大表進行大量插入/更新/刪除操作時,會使表保存在碎片化的磁盤塊中,這將花費較長的查詢時間。

希望這個答案將幫助您找出最終的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM