|
|
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
locky tru55 wrote: > Ну, положим, пакеты в Oracle позволяют не только группировать процедуры > вместе. Как минимум: > 1. использование пакетных переменных для передачи значений между > программными единицами, например, между триггерами и процедурами Удобно. Но, к сожалению, некоторые т.н. "программисты" этим очень злоупотребляют :) С другой стороны - можно ведь и не злоупотреблять, верно? Удобно, одним словом. > 2. возможность перегрузки процедур Сомнительно - зачем нужно? Для геммороя? > 3. единая грантовка на пакет целиком У меня таких проблем не возникало - гранты имеют только ~1% от общего числа процедур. но, в любом случае - возможность есть - пусть будет. Хотя мне больше всё-таки нужна группировка (ну, и от пакетных переменных - тоже не отказаолся бы, наверное). 1... 2. Ну почему же? Например, таким способом реализованы стандартные функции, которые могут принимать различные типы аргументов (to_char, nvl и проч.). В противном случае пришлось бы на каждый тип аргумента создавать свою функцию 3. А что, остальные не используются или вызываются из других? В любом случае, удобнее выдать гранты на несколько пакетов, чем на пару сотен процедур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 15:26 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
tru55Да что вы говорите? На этом основан, в частности, стандартный способ избавления от мутации таблицы в триггере. Простите, но мне не от чего избавляться... У меня ничего не мутирует... tru55Я уж не говорю об удобстве отключения функционирования части (всего) триггера в зависимости от значения переменной, которое в каждой сессии свое, и проч. Гм... И потом догадывайся, почему триггер пошел по этой, а не другой ветке, ах да, переменная. И черт его знает, какое значение она имела в момент срабатывания?! Оно, это значение, ведь нигде не сохранилось? Напоминает PCHL из ассемблера. Если это какого-то аттрибута зависит алгоритм обработки, то это должен быть аттрибут какой-либо сущности, а не переменная, IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 15:33 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
tru55 wrote: > 2. Ну почему же? Например, таким способом реализованы стандартные > функции, которые могут принимать различные типы аргументов (to_char, nvl > и проч.). В противном случае пришлось бы на каждый тип аргумента > создавать свою функцию э.... а сейчас, простите, не создается? да, имя - одно и тоже, "тело" - разное. Плюс - гемор с определением - какой оверлоад применить? В том же МС СКЛ - cast/convert(to_char/to_date)/isnull(nvl) - принимают разные типы на вход - хотя ни оверлоадов ни пакетов - нетути :) > 3. А что, остальные не используются или вызываются из других? Используются, вызываются... Только гранты им не нужны - нужен грант только на "корневую" процу - точку входа. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 15:37 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
авторА что, остальные не используются или вызываются из других? В любом случае, удобнее выдать гранты на несколько пакетов, чем на пару сотен процедур А теперь, пожалуйста, сделайте DENY для одной процы из грантованного пакета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 15:47 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
pkarklin авторА что, остальные не используются или вызываются из других? В любом случае, удобнее выдать гранты на несколько пакетов, чем на пару сотен процедур А теперь, пожалуйста, сделайте DENY для одной процы из грантованного пакета. Тема для размышления: у пакета кроме интерфейса есть еще body P.S. До завтра ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 17:05 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
pkarklin Ну, давайте посмотрим... Только в "оригинальную" статью (есть ссылка в приведенной Вами стаье), а не в FAQ по табличным переменным, да еще по 2000 версии. во первых надо догововорится: вы будете спорить с тем, что временные таблицы вызывают рекомпиляцию на каждый вызов существует рекомендация MS вместо них юзать табличные переменные везде где только можно относится и к mssql2к5 ? или это относилось лишь к версиям до sql2k5 ? pkarklin Т.е. Вы считаете, что если Вы по ходу дела (после того, как был создан план выполнения хп) залили во времянку пару-тройку сотен тысяч записей для обработки, то план, составленный на этапе копиляции (когда таблица пуста - читай отсутствует статистика) будет самым верным? IMHO, все с точностью до наоборот! во вторых думаю вам нужно сначало осознать, что плана выполнения хп просто физически не существует, потому в остальной текст невьехал ... мое мнение - тысячи рекомпиляций в минуту одних и тех же процедур - немаштабируемо и допускать такое в продакшене не представляется возможным. в третих список вещей вызывающих рекомпиляцию: MSDNRecompilations Due to Certain Temporary Table Operations Use of temporary tables in a stored procedure may cause the stored procedure to be recompiled every time the procedure is executed. To avoid this, change the stored procedure so that it meets the following requirements: • All statements that contain the name of a temporary table refer to a temporary table created in the same stored procedure, and not in a calling or called stored procedure, or in a string executed using the EXECUTE statement or sp_executesql stored procedure. • All statements that contain the name of a temporary table appear syntactically after the temporary table in the stored procedure or trigger. • There are no DECLARE CURSOR statements whose SELECT statements reference a temporary table. • All statements that contain the name of any temporary table precede any DROP TABLE statement that references a temporary table. DROP TABLE statements are not needed for temporary tables created in a stored procedure. The tables are automatically dropped when the procedure has completed. • No statements creating a temporary table (such as CREATE TABLE or SELECT... INTO) appear in a control-of-flow statement such as IF... ELSE or WHILE. pkarklin И что здесь на Ваш взгляд "криминального"? Значения парамтеров положили в табличную переменную. Предположу, что для дальнейшей SET-ориентированной обработки. Если будет приведен полный текст или тынц на оный, можно будет о чем то рассуждать. А так - слив не засчитан. ну например эта же процедура в Postgres выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. http://www.tpc.org/results/FDR/tpce/dell_6850_082407_TPCE_SF.zip pkarklin Т.е. вот так вот абстрактно "i/o на tempdb"? В каком контексте? М.б. ВЫ о версионности? Могу Вас разочаровать версионность (успешно используем на OLTP системе) не создает какой-либо заметной нагрузки на tempdb. Почему, наверное стоит прильнуть к первоисточнику, например, Inside Microsoft® SQL Server™ 2005: The Storage Engine By Kalen Delaney Там даже и формула для расчета приведена. временные таблицы так же хранятся и в темдб, где конкурируют в и/о с сортировками, табличными переменными, версионности и прочими прелестями свалеными майкрософтом в темдб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 17:19 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Yo.! wrote: > во вторых думаю вам нужно сначало осознать, что плана выполнения хп > просто физически не существует, потому в остальной текст невьехал ... Угу. Физицски его нет, токмо "виртуально". А текст - надо читать. > мое мнение - тысячи рекомпиляций в минуту одних и тех же процедур - > немаштабируемо и допускать такое в продакшене не представляется возможным. Более того - миллионы рекомпиляций в минуту - это еще хуже. только мало кто умудряется достичь даже сотен. Если руки - не из... > в третих список вещей вызывающих рекомпиляцию: Вкратце: использование временных таблиц - вообще говоря вызывает рекомпиляцию (не всегда, вроде как). Вывод: избегайте использования временных таблиц. Для проформы - можете и на обычных стейтментах использовать, к примеру keepfixed plan - это чутка расслабляет по поводу изменения статистики. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 18:00 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) wrote: > Тема для размышления: > у пакета кроме интерфейса есть еще body насколько я понял, имелась в виду возможность дать разрешение только для одной процедуры из пакета. Т.е. - я могу её выполнить, ты - нет. Хотя оба мы можем выполнить другую процедуру из этого же пакета. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 18:07 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Alexsalog Покажите как использовать ref_cursor в случае если в клиентской программе "пользователю" предоставлено поле для запроса, который будет тупо запущен на выполнение и от которого клиентская программа ждет набора записей как если бы это было "select * from...". На скуле это делалось: Код: plaintext Мои предшественники плодили многоэтажные вью. нихера не понял, parameters это что, входной текст sql statement'a типа 'drop database ...' ? не страшно ? как это связано с многоэтажными вью !? типа такого: Код: plaintext 1. 2. 3. 4. 5. 6. 2locky в паре сотен процедур пара десятков запросов в каждой (с временными таблицами), которые дергают пара тысяч юзеров ... в чем проблема заполучить пару сотен тысяч рекомпиляций ? lockyВкратце: использование временных таблиц - вообще говоря вызывает рекомпиляцию (не всегда, вроде как). Вывод: избегайте использования временных таблиц. не пойму это сарказм или меня услышали ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 19:13 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Yo.! wrote: > в паре сотен процедур пара десятков запросов в каждой (с временными > таблицами), которые дергают пара тысяч юзеров ... в чем проблема > заполучить пару сотен тысяч рекомпиляций ? угу. добавить еще пару сотен set ansi_nulls on|off... к каждой третьей дописать with recompile.... "И не такое увидите" (С) > locky > Вкратце: использование временных таблиц - вообще говоря вызывает > рекомпиляцию (не всегда, вроде как). > Вывод: избегайте использования временных таблиц. > > не пойму это сарказм или меня услышали ? :) не считайте себя "пророком в тёмном отечестве" :) "Всё уже написано, до нас". В БОЛ, в МСДН... там же написано, что не только временные таблицы приводят к рекомпиляции, но также - изменение статистики (и как с этим бороться), "выдавливание" планов из кэша (и как с этим бороться)... и прочие "поводы". Я себе могу достаточно явственно представить систему, в которой и правда есть "пара сотен процедур", в каждой из которых есть "пара десятков запросов" с временными таблицами. Более того - примерно такое я видел (один раз, правда). Да, и тут, скорее всего - будет масса рекомпиляций. Но это вовсе не означает, что такая практика есть "правильная и одобряемая". Более того - это немного неправильно (хотя - от случая зависит) и уж тем более - не совсем одобряемая. Существуют "секретные техники" по борьбе с рекомпиляциями и/или - по снижению ущерба от рекомпиляций (все они, кстати, описаны в том же БОЛ). Я могу себе представить систему на оракле, у которой тоже будет масса валидаций пакетов - дальше то что? Я ведь не буду по этому поводу тут кричать, мол "оракл - это жуть! Немасштабировано! Валидации! Рекомпиляции!" (я уж не говорю о "правильном применении" курсоров и no_data_found exception). при "кривых ручках" единтсвенная вещь, которая масштабируется хорошо - это гемморой. Банально, но - писать надо ПРАВИЛЬНО, тогда - геммороя будет меньше (хотя - всё равно - будет). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 19:33 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
drevИ до какого процента рынка её раскрутили?:) Процент существенно больше, чем вам кажется. Просто шума вокруг informix меньше: он просто работает, в том числе и во встраиваемых системах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2007, 22:25 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
2 All Приношу свои извинения за долгое молчание. Был занят. Отвечу всем по-порядку, и, может быть тоже не сразу. Gluk (Kazan)Тема для размышления: у пакета кроме интерфейса есть еще body У меня предостаточно более важных тем для размышления. ;) Хотелось бы услышать простой ответ на вопрос: "Можно ли раздавать индивидуальные гранты на отдельные хп в пакете?" - "Да" или "Нет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 08:37 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Yo.!во первых надо догововорится: вы будете спорить с тем, что временные таблицы вызывают рекомпиляцию на каждый вызов существует рекомендация MS вместо них юзать табличные переменные везде где только можно относится и к mssql2к5 ? или это относилось лишь к версиям до sql2k5 ? Предлагаю договорится о следующем: Если особо не уговаривается, то речь будет вестись о 2005 версии сиквел сервера. Ок? Спорить с тем, что "временные таблицы вызывают рекомпиляцию на каждый вызов" я безусловно буду, ибо это, мягко говоря, не соответствет действительности. И рекомендации МС как раз таки преследуют цель "корректного" использования временных таблиц, т.е. best practice в разработке кода. Именно "уклонение" от этой практики я имел ввиду под кривизной рук разработчика. Yo.!во вторых думаю вам нужно сначало осознать, что плана выполнения хп просто физически не существует, Странно, жопа (сорри за мой французкий) есть, а слова такого нет. ((с) Вовочка) Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. А вот если теперь результат колонки query_plan открыть в отдельном окне SSMS, сохранить его в файл с расширение sqlplan и открыть, опять же в SSMS, то увидим следующее: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 09:19 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
AlexsalogМикрософт задавит оракл - 100%, только вопрос времени... 1) потому что во первых вся инфраструктура уже микрософтовская. вся! домен, коммуникейшн сервер. почта... 2) во вторых подход у них более правильный. чтобы администрировать оракл, администратору нужно знать кучу мелких недокументированных нюансов... микрософт в этом смысле - небо и земля 3) если посмотреть, то последняя версия sql-сервера наравне с oracle эксплуатируется на крупных базах . есть сайт со статистикой. 4) а в четвертых - слишком лакомый куок. чтобы такая компания как микрософт не подмяла его под себя... а у них есть все возможности Конечно, огромный сонм unix систем во всем мире - это сильный аргумент за оракл но 5) Против unix систем - комплексный подход microsoft и трудности с интеграцией... во вторых никто не будет строить свой бизнес на некомерческом ПО, коим unix является, в третьих microsoft уже выпустила сервер без графической оболочки почти, с улучшенной производительностью... это один из вариантов установки сервера 2008. Там и многие команды юниксовые работают Плюс ко всему, есть режим работы в совместимости с unix приложениями... если он будет работать как нужно - unix во многих местах пойдет на йух 1. и чо? 2. хрень 3. эксплатируется, а терь спроси у тех админов каково им 4. у майкрасофта денег не хватет 5. на "некомерческом" ещё как, уже почти выпустила гы гы, это наврно также как и лонгхорн, мы его почти сделали, чучуть осталось. Совместиомсть, да, да майкрософт взял линукс и поменял логотипчик на свой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 09:30 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Yo.!потому в остальной текст невьехал Жаль... Я хотел до Вас донести, что оптимальный план для временной таблицы с 5 записями и для 50 000 записей может\будет отличаться хотя бы в плане метода доступа и стратегии объединения. Yo.!мое мнение - тысячи рекомпиляций в минуту одних и тех же процедур - немаштабируемо и допускать такое в продакшене не представляется возможным. Мое тоже. Но чтобы достичь такого показателя, надо иметь кривизну рук более чем 3ей степени. Впрочем, locky по этому поводу высказался. Мне добавить больше нечего. Yo.!в третих список вещей вызывающих рекомпиляцию: Гм... С точностью до наоборот. Это как раз список подходов, которые не приводят к перекомпиляции. Yo.!ну например эта же процедура в Postgres выглядит так: И что из этого следует?! Yo.!полный текст тынца от майкрософт можно взять тут: Большой тынц. Нужно некоторое время на его "осознание". Yo.!временные таблицы так же хранятся и в темдб, где конкурируют в и/о с сортировками, табличными переменными, версионности и прочими прелестями свалеными майкрософтом в темдб. Так можно договорится до обсурда: "Таблицы, индексы и прочее хранится в продакшен бд где все это конкурирует друг с другом". tempdb - это такая же (за некоторым исключением в плане модели восстановления) бд, как и все остальные. И оптимизация работы с ней такая же, как и для всех отсальных бд. Не стоит вешать на tempdb ярлык перегруженной i\o. У Вас есть результаты практичексих тестов? В студию, плиз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 09:52 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Чендлер3. эксплатируется, а терь спроси у тех админов каково им У Вас есть тексты их отзывов?! Можете сюда выложить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 10:21 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
2pkarklin то что вы видите это планы sql queries которые встречаются в хп, никакого плана процедурного расширения t-sql и хп. оптимизатору пофигу от куда взялся запрос - из хп, напрямую с клиента или dblink. по остальному собствено locky уже все что я хотел сказал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 10:49 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
Yo.!то что вы видите это планы sql queries которые встречаются в хп Еще бы! А чему там другому быть? Yo.!никакого плана процедурного расширения t-sql и хп. Эээ... Плана чего? T-SQL - это и есть процедурное расширение. Масло маслянное, получается. В кеше присутствует скомпилированный план именно хп, как бача, а не как отдельные планы запросов, ее составляющих. При повторном вызове этой хп будет ипользоваться скомпилированный план. Если Вы отдельно отправите три запроса, находящихся внутри хп, то получите три отдельных плана: Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 11:05 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
2 Yo.! Для понимания причин перекомпиляции процедур надо понимать исторические предпосылки, которые привели к этому. Временные таблицы (ВТ) появились очень давно, во вском случае в версии 4 они уже были. Но были ограничения - процедура не видела ВТ, которые создала не она, ВТ(как впочем и все другие объекты) нельзя было создавать в транзакции. В 6-й версии последнее ограничение сняли. Но всё равно ВТ работали несколько странно - если в процедуре был оператор создания ВТ, то он мог быть для каждой таблицы только один(т.е. нельзя было написать if 2>2 create table #t (i int) else create table #t(i char) ). Этот оператор анализировался и при компиляции процедуры проверялось использование полей ВТ. Т.е. фактически это был не оператор создания, а декларация ВТ. В 7-й версии(или в 2000?) в процедуре стали видны ВТ, созданные извне. Т.е. при создании процедуры может быть обращение к объектам, которых может еще не быть при компиляции и которые могут постоянно менять структуру. Процедуры, в которых есть такая неопределённость, приходится компилировать непосредственно перед запуском. В принципе писать такие процедуры считается плохим тоном (хотя бы с точки зрения сопровождения) и используется только когда другие решения еще хуже. В 2000-м решили что лучше иметь полноценную декларацию ВТ и придумали таблицы-переменные - фактически это те же самые ВТ, которые были в 4-6-й версиях, ну разве что не логируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 11:06 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
SergSuperНо были ограничения - процедура не видела ВТ, которые создала не она, ВТ(как впочем и все другие объекты) нельзя было создавать в транзакции. В 6-й версии последнее ограничение сняли. В 7-й версии(или в 2000?) в процедуре стали видны ВТ, созданные извне. По моему - вы что-то путаете... Я, честно сказать, уже сам с трудом помню - что там было в 6.5, но мне кажется - что ВТ, созданные извне там уже были видны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 11:41 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
lockyПо моему - вы что-то путаете... Я, честно сказать, уже сам с трудом помню - что там было в 6.5, но мне кажется - что ВТ, созданные извне там уже были видны. Слова SergSuper подтверждаю. На момент выполнения CREATE PROCEDURE в версии 6.5 временная таблица должна была сущестовать в этой сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 11:47 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
pkarklin Чендлер3. эксплатируется, а терь спроси у тех админов каково им У Вас есть тексты их отзывов?! Можете сюда выложить? к сажелению нету, просто думаю что обязательно нужно у них спросить про это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 11:48 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
pkarklin В кеше присутствует скомпилированный план именно хп, как бача, а не как отдельные планы запросов, ее составляющих. При повторном вызове этой хп будет ипользоваться скомпилированный план. Если Вы отдельно отправите три запроса, находящихся внутри хп, то получите три отдельных плана: а можно тынц куда нибудь на описание ? пока я вижу 3 плана, трех запросов. а то выходит, что одни и теже запросы пришедшие с клиента и хп будут фигурировать (их планы) в кеше дважды ? 2SergSuper по ВТ мне все понятно, я пытался показать, что "вкусности оракла" легко и непринужденно временными таблицами обойти не получается ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 12:08 |
|
||
|
Microsoft задавит Oracle
|
|||
|---|---|---|---|
|
#18+
locky Т.е. - я могу её выполнить, ты - нет. Хотя оба мы можем выполнить другую процедуру из этого же пакета. Единицей безопасности является пакет. Помимо интерфейса он может иметь скрытую реализацию. Плюс достаточное количество бонусов, чтобы сделать полезность пакетов в Oracle необсуждаемой В силу архитектурных различий, для MS SQL эти бонусы малоактуальны как таковые (типа всю системы менять надо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2007, 12:48 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34903875&tid=1553126]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 153ms |

| 0 / 0 |
