Tôi đang cố gắng chẩn đoán truy vấn chậm, sử dụng EXPLAIN ANALYZE
. Tôi mới vào lệnh vì vậy tôi đã đọc http://www.postgresql.org/docs/9.3/static/using-explain.html. Kế hoạch truy vấn sử dụng một "CTE quét", nhưng tôi không biết đó là gì, so với, nói, quét tuần tự - và quan trọng hơn, quét CTE có nghĩa là gì nói chung cho hiệu năng truy vấn.Quét CTE là gì và ý nghĩa của nó đối với hiệu suất là gì?
10
A
Trả lời
15
A "CTE quét" là một quét tuần tự của các kết quả cụ thể hóa của một thuật ngữ CTE (một phần tên như "blah" trong một CTE như WITH blah AS (SELECT ...)
.
Materialized nghĩa là PostgreSQL đã tính toán kết quả và biến chúng thành một cửa hàng tạm thời của hàng, nó không chỉ sử dụng CTE như một cái nhìn,
Ý nghĩa chính là chọn một tập nhỏ từ một thuật ngữ CTE và loại bỏ phần còn lại có thể làm rất nhiều công việc lãng phí, vì các phần bạn hủy vẫn phải được tính đầy đủ.
Để biết chi tiết, hãy xem a recent blog post I wrote on the topic.
Các vấn đề liên quan
- 1. Ý nghĩa của ∃ là gì?
- 2. Ý nghĩa của * nix là gì? Và nó có liên quan gì với Ruby?
- 3. MySQL 1443: ý nghĩa của nó là gì?
- 4. xn-- trên miền, ý nghĩa của nó là gì?
- 5. Ý nghĩa của // trong bash là gì?
- 6. Ý nghĩa của * args và ** kwargs là gì?
- 7. Ý nghĩa của id là gì?
- 8. Ý nghĩa SQL của 0x5E5B7D7E là gì?
- 9. Hiệu suất của std :: bitset là gì?
- 10. Ý nghĩa của '==' trong C là gì?
- 11. amazon aws có nghĩa là gì bởi "hiệu suất mạng"?
- 12. Ý nghĩa của Giao dịch là gì?
- 13. Ý nghĩa của svg: svg là gì?
- 14. Ý nghĩa của '@' trong URL là gì?
- 15. Ý nghĩa của "UseTaskFriendlySynchronizationContext" là gì?
- 16. Ý nghĩa của System.CLSCompliantAttribute là gì?
- 17. Ý nghĩa của -532459699 là gì?
- 18. Ý nghĩa của tệp dylib là gì?
- 19. Ý nghĩa của $$ trong Ruby là gì?
- 20. ý nghĩa của CV_INSTRUMENT_REGION() là gì?
- 21. Ý nghĩa của typedef này là gì?
- 22. ý nghĩa của số 1e5 là gì?
- 23. Android - ý nghĩa của StableID là gì?
- 24. Ý nghĩa của + trong CSS là gì?
- 25. Ý nghĩa của @_ trong Perl là gì?
- 26. Ý nghĩa của! #: 3 là gì?
- 27. ý nghĩa của hibernate inverseJoinColumns là gì?
- 28. ý nghĩa của "tóm lại" là gì
- 29. Ý nghĩa của /// trong JavaScript là gì?
- 30. Ý nghĩa hiệu suất của việc chia sẻ các đối tượng giữa các chủ đề là gì?
Đây là một chủ đề nâng cao và tôi không thể nghĩ ra một lời giải thích của giáo dân. Xem https://wiki.postgresql.org/wiki/CTEReadme - chỉ cần tin tưởng optmizer, nó chắc chắn không phải là xấu như một seqscan (làm thế nào xấu nó có thể phụ thuộc vào cardinality dữ liệu). –
Hiển thị truy vấn của bạn và/hoặc giải thích kết quả. –