|
|
|
Ограничение на размер пакета
|
|||
|---|---|---|---|
|
#18+
Подскажите, имеется ли ограничение на размер тела пакета.\r У меня сейчас он 1500 строк.\r Для девятки вроде прокатывает, все нормально, но мне \r предстоит перенести все это на 8.1.7 после выходных.\r Почитал здесь, но не совсем понятно, где можно узнать подробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 20:09:01 |
|
||
|
Ограничение на размер пакета
|
|||
|---|---|---|---|
|
#18+
Well, there are several types of limits you can hit: 1. Source code size. Source code size is almost never an issue. Starting with 8.1.3 package bodies and type bodies can have approximately up to about 6,000,000 lines of code. 2. DIANA limit. When you compile source, Oracle produces pcode (pre-digested version of the PL/SQL source code) and then mcode (executable code) which is stored in DIANA: "Oracle's PL/SQL programming language is based upon the ADA programming language. As a result, PL/SQL uses a variant of Descriptive Intermediate Attributed Notation for Ada (DIANA), which is a tree-structured intermediate language. It is defined using a meta-notation called Interface Definition Language (IDL). DIANA provides for communication internal to compilers and other tools. PL/SQL source code for a procedure or a package is stored in the database using the following two constructs: o m-code o DIANA The m-code is the actual executable, while the DIANA provides source code dependency trees. At runtime, the m-code and DIANA are loaded into the shared pool. The m-code is the executable, while the DIANA compiles dependent procedures". I do not know about 9i, but according to 8.1.6 documentation the following size limits apply: "In the shared pool, a package spec, object type spec, stand-alone subprogram, or anonymous block is limited to 64K DIANA nodes. The nodes correspond to tokens such as identifiers, keywords, operators, and so on. The m-code is limited to 64K compiler-generated temporary variables." Although the PL/SQL compiler enforces its own size limits (listed below), usually it is the DIANA size limits which are reached first. The following can be found in Appendix E of the "PL/SQL Users Guide and Reference 8.1.6 Release": Table E-1 PL/SQL Compiler Limits (8.1.X release) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. SY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 21:06:34 |
|
||
|
Ограничение на размер пакета
|
|||
|---|---|---|---|
|
#18+
One more thing: Starting with release 7.2, the DIANA for package bodies is thrown away, not used, and not stored in the database. Therefore, large procedures and functions should always be defined within packages. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 21:11:44 |
|
||
|
|

start [/forum/search_topic.php?author=Slash&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
158ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 619ms |
| total: | 874ms |

| 0 / 0 |
