|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Favn P.P.S. А ХП именно вместо запросов (а не вместе с ними), т.е. замена декларативного SQL на процедурную обработку - зло безусловное. вы наверно имели ввиду клинику вроде: вместо Код: plaintext
Код: plaintext
процедурно циклом Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 15:41 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Yo.!Kachalov и использование ХП только в тех случаях когда они дают существенное преимущество по производительности здесь играем (ООП), здесь не играем (процедурные хп), а здесь мы рыбу заворачивали (с) отличный подход сурьезного шпециалиста - специалист это не осел и не баран (для которых характерна позиция - "вот так и никак иначе"), он должен видеть весь спектр возможностей и выбирать наиболее эффективные варианты. Вопрос в том что в конкретном случае значит "эффективный"? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 16:01 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
FavnKachalovя считаю что для "серьезной системы" вообще ХП не нужны. Кстати что Вы называете "серьезной системой"?Все просто - как разработчик (ну совсем не DBA), я достаточно сложной считаю систему ... - ага, теперь кроме "серьезных систем" всплыли еще какие-то "достаточно сложные системы" Ну Вы хоть читайте что пишите. Favn И при нормальном проектировании тогда логика обработки, формализуемая в реляционных терминах, естественно живет внутри СУБД, объектная - внутри апп-сервера. И противопоставлять их друг другу - просто бред. - просто бред не понимать что пользователю нужны данные в удобной форме и, если 20 лет назад, таблично реляционная форма представления была достаточно удобной, то по мере усложнения решаемых бизнес задач объектное представление данных стало более естественным для описания данных имеющих большое количество и иерархию связей. Поскольку РСУБД это историческая данность, ООП - это жизненная необходимость, возникает потребность в объектно реляционном маппинге, при использовании которого вполне естественно осуществлять обработку данных в объектном виде, хотя, в некоторых случаях выполнение логики на РСУБД может оказаться более эффективным. Извиняюсь, устал ... и некогда. Засим временно откланяюсь, хотя Ваш топик благодатный для трепа. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 16:13 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Kachalov просто бред не понимать что пользователю нужны данные в удобной форме и, если 20 лет назад, таблично реляционная форма представления была достаточно удобной, то по мере усложнения решаемых бизнес задач объектное представление данных стало более естественным для описания данных имеющих большое количество и иерархию связей. Поскольку РСУБД это историческая данность, ООП - это жизненная необходимость, возникает потребность в объектно реляционном маппинге, при использовании которого вполне естественно осуществлять обработку данных в объектном виде, хотя, в некоторых случаях выполнение логики на РСУБД может оказаться более эффективным. - представление не зависит от данных, и уж тем более от логики - потребность в коммунизме, ООСУБД и искусственном интелекте уже давно назрела ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 16:48 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Petro123вы наверно имели ввиду клинику вроде...Нет, клиника совсем в другом. Если вместо сложного MERGE в процедуре появляется кучка циклов с update-курсорами и промежуточными массивами, или вместо SELECT с with-выражениями и window-функциями появляются те же циклы с курсорами, "процедура", где бы она не находилась, становится источником проблем. И ХП с вью, по-моему, нужны в первую очередь для изоляции сложного SQL-кода от разработчиков, не владеющих мощным современным SQL. Да, в общем, и не дОлжных владеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 17:05 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Favn, да, это проблема. Просто ум заточенный на ООП часто плохо воспринимает реляционную алгебру и наоборот. Много зависит от профи-разработчика БД. Даже в бОльшей степени, чем от клиентщика (он всё более-более тонкий и презентационно-витринный). а так, если в общем, то плохой синтаксис-стиль есть везде :) http://www.govnokod.ru/delphi ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 17:23 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Kachalov- ага, теперь кроме "серьезных систем" всплыли еще какие-то "достаточно сложные системы" Ну Вы хоть читайте что пишите.Да, между "сложными" и "серьезными" - в данном контексте просто огромная лингвистическая разница :). Еще раз - и то, и другое - с точки зрения проектирования и разработки. Kachalov- просто бред не понимать что пользователю нужны данные в удобной форме и, если 20 лет назад, таблично реляционная форма представления была достаточно удобной, то по мере усложнения решаемых бизнес задач объектное представление данных стало более естественным для описания данных имеющих большое количество и иерархию связей. Кстате, о бреде - пользователь-то тут причем? Он у Вас процедуры вызывает или на SQL пишет? Вид данных, получаемых пользователем, к серверному коду вообще никакого отношения не имеет. Если используется РСУБД - БД должна проектироваться в терминах РМД, и ее данные должны обрабатываться в рамках этой модели. А все, что работает с БД, может использовать любую другую модель абстракции, уже на своем уровне. Нормально спроектированная БД - это не набор таблиц, а законченный уровень абстракции с описанными интерфейсами для работы с ним, черный ящик. KachalovПоскольку РСУБД это историческая данность, ООП - это жизненная необходимость, возникает потребность в объектно реляционном маппинге, при использовании которого вполне естественно осуществлять обработку данных в объектном виде, хотя, в некоторых случаях выполнение логики на РСУБД может оказаться более эффективным.Я где-то с этим спорил? Не замечал. Просто отдавать объектному уровню хоть в апп-сервере, хоть на клиенте "сырые" таблицы вместо вью и процедур - крайне опасный во всех смыслах подход. Хотя и самый простой (примитивный). Kachalovхотя, в некоторых случаях выполнение логики на РСУБД может оказаться более эффективным.Если эта логика описана в рамках РМД - всегда. Еще раз - каждый инструмент должен решать свои задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 17:24 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Petro123Просто ум заточенный на ООП часто плохо воспринимает реляционную алгебру и наоборот. Много зависит от профи-разработчика БД.Я думаю, что это скорее нежелание (лень) изучить. В конце концов, логика предикатов и работа с множествами - общие и одинаково нужны для любого программирования. Другое дело, что ООП-разработчику хорошее знание SQL может быть и не нужно, если он работает с БД через продуманный интерфейс. И даже если РСУБД и ООП разработчик - одно лицо, в грамотном проектировании это мало что меняет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2010, 17:33 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
KachalovПоскольку РСУБД это историческая данность, ООП - это жизненная необходимостьНу, это просто заклинание. Могу сказать, что РСУБД это жизненная необходимость, ООП - это историческая данность. При этом я могу всё таки представить некую доказательную базу, а не просто голое утверждение. Kachalov- просто бред не понимать что пользователю нужны данные в удобной форме и, если 20 лет назад, таблично реляционная форма представления была достаточно удобной, то по мере усложнения решаемых бизнес задач объектное представление данных стало более естественным для описания данных имеющих большое количество и иерархию связей.По моему, вы не совсем верно представляете разницу ролей в современном мире между ООП-языками и платформами и РСУБД. Реляционные данные (РД) - это актив компании, это большая доля из того, что она стоит, а иногда и всё, что она стоит. Причём "реляционные данные" - это независит от того, есть-ли у компании РСУБД или даже вообще компьютеры. Просто есть массивы множеств данных, между которыми есть связи по значениям атрибутов. Очень важно здесь то, что РД появляются и становятся активом компании без инициации какого-либо программирования, создания объектной модели, и т.д., важно лишь позаботиться об их сохранении и эффективном использовании. РД - это естественно и первично. При проектировании, например, ООП-приложения делают маппинг сущностей на объекты, а не наоборот. Далее, вполне логично хранить эти реляционные данные и управлять ими в РСУБД. Зачем компании менять десять раз платформы и технологии для РД в течении их активной жизни (а это минимум десятки лет), мирясь с неминуемыми искажениями и потерями при их смене (это не считая собственно затрат на смену платформ)? Как следует из всего этого, период использования ООП при работе с РСУБД - это просто короткий период применения удобной и продуктивной ООП-технологии при работе с РД; соответственно, важно понимать, что является первичным, а что вторичным, и не ставить программирование вперёд данных . Возвращаясь к вопросу - где реализовывать логику: Разумеется, никто не против применения АПП-серверов и ООП, на нынешнем этапе, когда используются ООП-языки для разработки пользовательских приложений. Однако вполне логично работать с РД в их максимально нативном хранилище - РСУБД. Это хотя бы делает вложения максимально долгоиграющими, это позволяет поддерживать общий пул РД и БЛ. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 09:40 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
alexeyvg, с точки зрения практика, со всем согласен. с точки зрения теоретика, авторПричём "реляционные данные" - это независит от того, есть-ли у компании РСУБД или даже вообще компьютеры. Просто есть массивы множеств данных, между которыми есть связи по значениям атрибутов. почему в активах лежат реляционные, когда природа их объектна ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 10:22 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Petro123alexeyvg, с точки зрения практика, со всем согласен. с точки зрения теоретика, авторПричём "реляционные данные" - это независит от того, есть-ли у компании РСУБД или даже вообще компьютеры. Просто есть массивы множеств данных, между которыми есть связи по значениям атрибутов. почему в активах лежат реляционные, когда природа их объектна ?Разумеется, мир состоит из объектов. Но я считаю, что люди не могут воспринимать объекты как объекты. Они упрощают их до множеств и атрибутов. Кроме того, если говорить не о реальном мире, а о хранящейся в компании информация - это хоть иногда и объекты, но уж очень разнородные и абсолютно не стыкующиеся друг с другом. А чаще - это именно записи в чистом виде, в которых пытливый ум может найти атрибуты и построить отношения с другими записями. Для примера - Книга Продаж, налоговые уведомления, списки названий и контактов клиентов у сейлов (конечно, у каждого в своём формате, в т.ч. и в памяти), Книги кадрового учёта. Конечно, Книга Продаж (бумажная) - это объект, но работа с ней как с объектами - это плодить сущности сверх необходимого :-) Что-то из этого есть в компах, причём возможно даже в виде объектов на АПП-серверах. Но эти софтовые объекты появились позже, вторичны, и возможно, неполно и/или искажённо отражают реальные объекты окружающего мира и реляционное представление этого мира. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 11:47 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
alexeyvg, спасибо за интересные мысли. Хотя я считаю, что человек изначально НЕ мыслит реляционно. Просто при переложении информации в комп и структуировании её требуется упрощённая реляционная модель. До объектного ПО и СУБД ещё далеко , но ОН будет...... :) Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 12:13 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Petro123alexeyvg, спасибо за интересные мысли. Хотя я считаю, что человек изначально НЕ мыслит реляционно. Просто при переложении информации в комп и структуировании её требуется упрощённая реляционная модель. До объектного ПО и СУБД ещё далеко , но ОН будет...... :) Удачи!Ну да, наверное, с реляционностью мышления я погорячился - просто я сам работаю с РСУБД :-) Я просто актентировал внимание на то, что та информация, которая есть в наличии у компаний и которая их актив, всё таки больше в реляционном виде. Нельзя представить работу с имеющейся бумажной Книгой Продаж изначально как с объектом, но можно как с записями и атрибутами. И только после этого этапа можно сделать программный объект. "До объектного ПО и СУБД ещё далеко , ОН будет" - с этим я согласен, но нужно хотя бы увести ООП от программирования - это ключевой и абсолютно необходимый момент. Должно быть так, как описывается работа с компами в фантастических произведениях, и как уже есть в реляционных бд - чтобы можно было взять объект (сложный, с милионами элементов) с одной системы, и спокойно использовать в другой, о которой авторы первой не могли и подозревать. Т.е. нужна теоретическая база и станлдарты, чего для ОБД пока нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 12:26 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
alexeyvg Разумеется, мир состоит из объектов. ... Я просто актентировал внимание на то, что та информация, которая есть в наличии у компаний и которая их актив, всё таки больше в реляционном виде. Нельзя представить работу с имеющейся бумажной Книгой Продаж изначально как с объектом, но можно как с записями и атрибутами. И только после этого этапа можно сделать программный объект. Kachalovпользователю нужны данные в удобной форме и, если 20 лет назад, таблично реляционная форма представления была достаточно удобной, то по мере усложнения решаемых бизнес задач объектное представление данных стало более естественным для описания данных имеющих большое количество и иерархию связей. Поскольку РСУБД это историческая данность, ООП - это жизненная необходимость - собственно и я говорил примерно о том же ;) alexeyvgНо я считаю, что люди не могут воспринимать объекты как объекты. Они упрощают их до множеств и атрибутов. - очень люблю на лекциях вспоминать пример из жизни: как-то услышал разговор женщин между собой, где одна женщина говорила другой - "у меня, у мужа, на работе ..." ни дальше про работу мужа. Такие безграмотные с точки зрения русского языка конструкции можно часто услышать. По моему это доказательство того что люди мыслят объектно или как минимум используют структуры :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 12:38 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Kachalov [у меня].[у мужа].[на работе]. ) в ООБД так и сделано ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 16:25 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Petro123Kachalov [у меня].[у мужа].[на работе]. ) в ООБД так и сделано Пик ожиданий связанных с ООБД, скорее всего, прошел не менее 10 лет. Счас спад ожиданий. Второй волны пока не видно. Так что, возможно, вспоминать сейчас об ей либо слишком поздно, либо слишком рано. Мапировать объекты на реляционные таблы, тоже выглядит больше как двойная работа (сначало проектироваль РБД, потом еще и классы), двойные риски: плохо спроектировали и то и другое, а выигрышь не вседа очевиден. Все же для типовых задач пошли по пути, в котором ООП занимаются производители Сишарпов, Дельфей, Васиков лабая библиотеки классов с датасетами, адаптеров. Видимо, пока это и есть наибольший успех ООП, а не доморщенное лобание объектов предметной области. Ить плохо спректровнную ОО модель исправлять сложно, а хорошую налабать сложгновато буит. А выигрышь в случае успеха может быть не значителен. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2010, 23:57 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
vadiminfoМапировать объекты на реляционные таблы, тоже выглядит больше как двойная работа (сначало проектироваль РБД, потом еще и классы), двойные риски: плохо спроектировали и то и другое, а выигрышь не вседа очевиден. - проблема не в двойной работе, а в том что часть работы уже сделана :( У большинства заказчиков информационных систем (ИС) существенного масштаба уже есть данные хранимые в РСУБД (часто в совершенно диком виде) и к этим данным написано некоторое количество софта, который частично планируется заменить новой ИС, а часть софта заказчик считает удовлетворяющей его потребности и отказываться от нее не желает. Короче - вариант "все с нуля" не пройдет. В итоге и приходится сопрягать разрабатываемую ИС (использующую ООП) с тем слабо документированным "авгием" который скопился у заказчика (ХП, триггеры, криво спроектированные таблицы и т. п.). Отсюда и сложный объектно-реляционный маппинг и ненависть к тем кто все это сотворил (они тоже зачастую заложники ситуации) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 00:32 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Kachalov- проблема не в двойной работе, а в том что часть работы уже сделана :( У большинства заказчиков информационных систем (ИС) существенного масштаба уже есть данные хранимые в РСУБД (часто в совершенно диком виде) и к этим данным написано некоторое количество софта, который частично планируется заменить новой ИС, а часть софта заказчик считает удовлетворяющей его потребности и отказываться от нее не желает. Короче - вариант "все с нуля" не пройдет. В итоге и приходится сопрягать разрабатываемую ИС (использующую ООП) с тем слабо документированным "авгием" который скопился у заказчика (ХП, триггеры, криво спроектированные таблицы и т. п.). Отсюда и сложный объектно-реляционный маппинг и ненависть к тем кто все это сотворил (они тоже зачастую заложники ситуации) Возможно, проблем значительно больше, так что и в случае варианта "с нуля" в настоящее время без применения РСУБД содержит риски в плане дипрессии программного обеспечения. Т.е. пока все выглядит так, что там где РМД не адекватна, и другие подходы абсолютно не реляционные (никак не использующие реляционные подходы) не достаточно адекватны. А там где РМД адекватна другие все так же не достаточно адекватны. А это многие типовые среди информационного обеспечения задачи. А без вытеснения РСУБД в типовых задачах, новые подходы имеют много рисков заглохнуть в любой момент. Как следствие попытки поиска решений с сохранением всего полезного от РМД, т.е. расширения оной, включая, например, ОРМД. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 09:48 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
повторюсь, я за научную фантастику, но ООБД даже на научную не тянет. Тока на популярную. Это в принципе, как колесо, которого нет в природе. Ну и ещё маркетинг производителей (поддерка наследования и классов в Оракле) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 10:09 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Petro123повторюсь, я за научную фантастику, но ООБД даже на научную не тянет. Тока на популярную. Это в принципе, как колесо, которого нет в природе. Ну и ещё маркетинг производителей (поддерка наследования и классов в Оракле) В Оракле не ООБД, а ОРБД. Это две существенные разницы так как эти подходы противопоставляются друг другу: первый начисто отрицает РМД, второй есть расширение оной. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 10:17 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
vadiminfoТ.е. пока все выглядит так, что там где РМД не адекватна, и другие подходы абсолютно не реляционные (никак не использующие реляционные подходы) не достаточно адекватны. А там где РМД адекватна другие все так же не достаточно адекватны. - ну если РМД адекватна задаче построения на ней объектной модели, то и объектно-реляционный маппинг делается легко и работает хорошо, а если нет, то и маппинг делать сложно и производительность теряется :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 10:54 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
KachalovvadiminfoТ.е. пока все выглядит так, что там где РМД не адекватна, и другие подходы абсолютно не реляционные (никак не использующие реляционные подходы) не достаточно адекватны. А там где РМД адекватна другие все так же не достаточно адекватны. - ну если РМД адекватна задаче построения на ней объектной модели, то и объектно-реляционный маппинг делается легко и работает хорошо, а если нет, то и маппинг делать сложно и производительность теряется :) IMHO плюс РМД в построении МД. Это соблюдение законов моделирования предметной области. Его основного закона - УПРОЩЕНИЕ модели реального мира. Без этого, все классы и сущности, которые пришли в голову прикладнику-клиентщику, были бы в хранилище данных компании. Скульптор (архитектор БД) только отсекает всё лишнее. И РМД только помогает в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 11:22 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
vadiminfo Пик ожиданий связанных с ООБД, скорее всего, прошел не менее 10 лет. Счас спад ожиданий. Второй волны пока не видно. Так что, возможно, вспоминать сейчас об ей либо слишком поздно, либо слишком рано. уже начались метания и в подходе к ООП, переболев оосубдами и ормами начинается движение в сторону LINQ в котором ООП вообще не проглядывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 11:34 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Petro123IMHO плюс РМД в построении МД. Это соблюдение законов моделирования предметной области. Его основного закона - УПРОЩЕНИЕ модели реального мира. Одним из существенных плюсов РМД является манипулирование данными в этой МД, которая обеспечивает "УПРОЩЕНИЕ" получения информации о реальном мире. А получение таковой есть "основная" цель создания ИС. Можно придумать какие угодно по выразительности МД, но если манипулирование остается сложным, то это сводит все достоинства на нет. Реальный мир - самая содержательная БД, но извлеч нужную инфу сложно. Числами легко манипулировать, но описать сложно предметну область. Т.е. имеет значение оптимум. И РМД пока наииболее опртимальна в этом плане. Шобы ея отменить нуно найти шо-то более оптимальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2010, 11:49 |
|
Хранимые процедуры против обычных SQL-запросов
|
|||
---|---|---|---|
#18+
Yo.!Alex SВероятность отваливания перегруженной СУБД все-таки повыше. А апп-сервера очень легко резервируются. (Все это при прочих равных - т.е. конфигурация СУБД одна и та-же, но в одном случае есть апп-сервера, выполняющие часть работы, а в другом только СУБД) с чего бы одинокой субд быть более перегруженой если ресурсов она будет тратить много меньше чем апп сервер+субд+гоняние трафика между апп-сервером и субд ? от того что ты зарезервируешь апп-сервер субд под апп-сервером надежней одинокой субд не станет. да и резервировать одинокую субд (standby, репликация, лог шипинг) и гонять RO репорты на стендбай не так уж сложно. Слушайте, я вот почитал ваши и его высказывания. У вас совершенно разный уровень технической подготовки. Вы абсолютно правильно привели все аргументы, что ХП гораздо выгоднее. Такое ощущение, что вам просто нравится спорить. Прошу вас, оставьте человека в покое, если он не внемлет ничего из написаного. Тема превращается в банальный флейм. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2010, 16:46 |
|
|
start [/forum/topic.php?fid=33&msg=36410297&tid=1548373]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 154ms |
0 / 0 |