2017-01-11 35 views
0

如果我使用服務器編程接口(SPI)以C語言重寫所有PLPGSQL函數(對於Postgres 9.6),可以實現的性能增益的百分比是多少?SPI與PLPGSQL的性能

我不包括從服務器到客戶端傳輸數據的時間(網絡時間),我只是談論在服務器端獲取數據並在將數據包發送到網絡之前進行格式化。我知道這一切都取決於應用程序,但是如果我們以WebOpen或StackOverflow之類的網站爲後臺,我將獲得多少收益?這值得麼?

回答

2

PL/pgSQL不是很高效,因此使用C函數比使用PL/pgSQL函數肯定會更快。 PL/pgSQL本身的處理越多,性能增益就越顯着。如果大部分PL/pgSQL時間都用在SQL查詢中,則不會看到很大的性能提升。

因此,它取決於個人使用情況,如果它是值得的努力與否。
編寫C函數肯定比PL/pgSQL函數更困難。