구문상의 설탕과 표현력 외에 런타임 효율성의 차이점은 무엇입니까? plpgsql은 plpythonu 또는 pljava보다 더 빠를 수 있습니다. 아니면 모두가 거의 같습니까? 우리는postgresql에서 plpgsql을 사용할 때의 이점은 무엇입니까
답변
plpgsql 내가 믿고 더 큰 형태의 안전성을 제공한다 (기록 10M의 주위에) 중간 정도 크기의 데이터베이스에 거의-중복에게 사람들의 기록을 검출하는 작업에 대한 저장 프로 시저를 사용하는
, 당신은 경우 명시 적 캐스트를 수행해야 varchar 및 text 또는 int4 및 int8과 같은 유사한 유형의 두 개의 다른 열을 사용하여 작업을 수행하려고합니다. 저장된 proc 사용 인덱스가 필요할 경우 postgres에서 유형이 조인 조건과 정확하게 일치해야하므로 중요합니다 (편집 : 동일성 검사에 대해서도 마찬가지입니다).
다른 언어에서도이 기능이있을 수 있지만 사용하지는 않았습니다. 어쨌든, 이것이 당신에게 당신의 수사를위한 더 좋은 출발점을 제공하기를 바랍니다.
실제 테스트를 수행하지 않으면 plpgsql이 다른 언어보다 다소 효율적일 것으로 기대합니다. 그런데 SQL 함수는 plpgsql보다 훨씬 빠르다는 것을 기억하십시오. 함수가 SQL로만 작성할 수있을 정도로 간단하면 말입니다.
plperg 나 plpgsql 이외의 것을 사용하여 테스트 한 결과, SQL 관련 로직이 아닌 경우 잘 작동합니다. 예를 들어 루핑이나 계산을 할 때 plperl은 제한된 테스트에서 항상 plpgsql을 피웠다. – Kuberchaun
plpgsql은 SQL과 매우 잘 통합되어 있습니다. 소스 코드는 매우 깨끗하고 읽기 쉽습니다. PLJava 또는 PLPython과 같은 SQL 언어의 경우 SQL 문은 격리되어야합니다. SQL은 언어의 일부가 아닙니다. 그래서 조금 더 많은 코드를 작성해야합니다. 프로 시저에 많은 SQL 문이있는 경우 plpgsql 프로 시저가 더 짧고 빨라야합니다. 프로 시저에 SQL 문이 없으면 외부 언어의 프로 시저가 더 빠를 수 있지만 외부 언어 (초기화)에 약간의 시간이 필요하므로 간단한 작업의 경우 SQL 또는 plpgsql 언어의 프로 시저가 더 빨라야합니다. http://www.postgres.cz/index.php/PL/Perlu_-_Untrusted_Perl_%28en%29
내가 아는 어떤 - - 사람들이 일반적으로 PL 언어의 조합을 사용 - (SQL, plpgsql, plperl) 또는 (SQL 당신이 인터넷에 액세스, 파일 시스템에 대한 액세스와 같은 일부 기능을 필요로 할 때
외부 언어가 사용된다 , plpgsql, plpython).
- 1. SharePoint에서 InfoPath 양식을 사용할 때의 이점은 무엇입니까?
- 2. OGNL에서 Spring EL을 사용할 때의 이점은 무엇입니까?
- 3. Hbase와 Hive를 통합 할 때의 이점은 무엇입니까
- 4. ASP.NET : 사이트 맵 기반 탐색을 사용할 때의 이점은 무엇입니까?
- 5. C++ 유형 캐스트 : 명시 적 캐스트를 사용할 때의 이점은 무엇입니까?
- 6. text/plain보다 application/json을 사용할 때의 이점은 무엇입니까?
- 7. 오픈 소스 프로젝트에 기여할 때의 이점은 무엇입니까?
- 8. php와 html을 분리 할 때의 이점은 무엇입니까?
- 9. MongoDB에서 directoryperdb를 사용할 때의 이점
- 10. 스크립팅 언어로 DLR로 전환 할 때의 주요 이점은 무엇입니까?
- 11. 파이썬 라이브러리/애플리케이션을 .egg 파일로 패키징 할 때의 이점은 무엇입니까?
- 12. 함수를 "인라인"으로 선언 할 때의 이점은 무엇입니까?
- 13. AS3의 EventListeners에서 약한 참조를 사용했을 때의 이점은 무엇입니까?
- 14. Memcached에서 레코드를 업데이트하는 것보다 레코드를 삭제할 때의 이점은 무엇입니까?
- 15. 문자열을 자바 스크립트 배열의 initiliase로 분할 할 때의 이점은 무엇입니까?
- 16. GridView를 Page_PreRender와 Page_Load에서 바인딩 할 때의 이점은 무엇입니까?
- 17. TerminateProcess를 사용할 때의 위험은 무엇입니까?
- 18. OpenID를 사용할 때의 장단점은 무엇입니까?
- 19. performSelectorInBackground를 사용할 때의 위험성은 무엇입니까?
- 20. 저장 프로 시저의 If 문에 대해 Case 문을 사용할 때의 이점은 무엇입니까?
- 21. Registry.LocalMachine.OpenSubKey를 사용할 때의 SecurityException
- 22. CustomListView를 사용할 때의 의문점
- 23. Hypervisor VM의 이점은 무엇입니까?
- 24. 매크로 : 이점은 무엇입니까?
- 25. WCF에서 WSDualHttpBinding의 이점은 무엇입니까?
- 26. Linux에서 Java를 실행하면 얻을 수있는 이점은 무엇입니까?
- 27. JCA의 이점은 무엇입니까?
- 28. "계단"분기의 이점은 무엇입니까?
- 29. currying의 실질적인 이점은 무엇입니까?
- 30. CommonJS에서 '약속'추상화의 이점은 무엇입니까?
이 정보가 사용될 시스템에 대해 더 자세히 알려주십시오. 사람들은 귀하와 귀하의 팀이 사용하는 언어 및 아키텍처 선택에 따라 더 나은 조언을받을 수 있습니다. –