|
|
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Ivan Durakiscrafmт.е. при проектирование смотрите не на названия, а на суть, содержание. Таблица всех людей: ID, Пол, Суть. Помню, лет 10 назад доводилось проектировать БД медицинского назначения. Проектировалось тщательно, с изучением предметной области, с тщательными опросами будущих ключевых пользователей. Как раз когда обсуждали структуру данных пациента, один умудренный сединами профессор строго указал - выбор пола должен быть не из двух, а из четырех вариантов - "М", "Ж", "Другое", "Неизвестно". В ответ на мое недоумение последовала фраза - "знаешь, на моем веку всякое повидать доводилось..." :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2010, 13:39 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
lavrenovПроектирование БД. Хотелось бы на моем простом примере разобраться с типичной ситуацией, которая периодически возникает при проектировании БД. Фактически я не до конца понимаю, когда, в каких случаях на практике применяют связь один-к-одному. Вот, например, есть такой пример "наследования". Очень похожая задача сейчас стоит по работе: Есть женщины, у них есть столбцы, которые могут иметь отношение только к женщине. Есть мужчины, у них есть столбцы, которые могут быть только у мужчин. А есть такие столбцы, которые могут быть и у мужчин и у женщин. Есть 2 решения: 1. Можно всех людей запихнуть в одну таблицу. В результате мы получаем в этой таблице много нуллов. Это немного смущает. Возможно, это не совсем правильное решение. 2. Можно сделать 3 таблицы: люди, мужчины, женщины. У таблиц "люди" и "мужчины" будет связь один к одному; и у таблиц "люди" и "женщины" будет связь один к одному. Вопрос: какое решение из двух более правильное? И что когда применяется? P.S. Связь один к одному собираюсь делать так: первичный ключ "мужиков" он же является внешним ключом на "людей". Первичный ключ людей - автоинкремент. Все верно? Спасибо! На мой взгляд, Вы смешиваете разные проблемы: "реализация связей" и "реализация наследования". Связи один-к-одному нужны когда вы не уверены не трансформируются ли они со временем в связи один-ко-многим (и это как раз Ваш случай - об этом ниже). Более того, Дейт рекомендует создавать для всех связей отдельные "таблицы", по многим причинам, а не только по той, что связь может стать многие-ко-многим. Беда в том, что это, формально, невозможно сделать в РМД. Теперь вернемся к Вашему примеру. Представьте себе, что одни свойства мужчин будут характерины только для одной группы мужчин, а другие - только для другой. И Вы опять "попадаете" на ту же проблему, но уже на работающей системе! Полезно посмотреть как подобные проблемы решаются в предметных областях, где они более выпуклы, так сказать. Например, для материалов (конечно, яблоки отличаются от селедки, а молоко от яблок и т.д. и т.п.):) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2010, 19:54 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
MaineCoon Помню, лет 10 назад доводилось проектировать БД медицинского назначения. Проектировалось тщательно, с изучением предметной области, с тщательными опросами будущих ключевых пользователей. Как раз когда обсуждали структуру данных пациента, один умудренный сединами профессор строго указал - выбор пола должен быть не из двух, а из четырех вариантов - "М", "Ж", "Другое", "Неизвестно". В ответ на мое недоумение последовала фраза - "знаешь, на моем веку всякое повидать доводилось..." :) Шутки шутками, но на самом деле возможных вариантов еще больше . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2010, 00:53 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
И все же остается вопрос как вставлять данные в эти таблицы по второму варианту.люди связаны с таблицами мужчины и женщины связью один к одному,но один человек не может быть одновременно и тем и другим,соответственно связь один к нулю или к одному.здесь получается что каждый человек и мужчина и женщина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 13:05 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
sergei64_89И все же остается вопрос как вставлять данные в эти таблицы по второму варианту.люди связаны с таблицами мужчины и женщины связью один к одному,но один человек не может быть одновременно и тем и другим,соответственно связь один к нулю или к одному.здесь получается что каждый человек и мужчина и женщина. Хороший вопрос. Но он относится и к первому варианту тоже: как вводить значения "правильных" характеристик для конкретного человека? К сожалению, на уровне СУБД решения нет, только на уровне приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 13:44 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Бредятинаsergei64_89И все же остается вопрос как вставлять данные в эти таблицы по второму варианту.люди связаны с таблицами мужчины и женщины связью один к одному,но один человек не может быть одновременно и тем и другим,соответственно связь один к нулю или к одному.здесь получается что каждый человек и мужчина и женщина. Хороший вопрос. Но он относится и к первому варианту тоже: как вводить значения "правильных" характеристик для конкретного человека? К сожалению, на уровне СУБД решения нет, только на уровне приложения.Я вот не понял вопроса sergei64_89... Конечно, для вставки данных нужно сделать INSERT, поэтому правильный ответ - "вставка данных возможна только на уровне приложения". Но, конечно, чтобы не получались ситуации "человек одновременно и мужчина и женщина", нужно сделать соответствующий констрейн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 13:51 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
alexeyvg Я вот не понял вопроса sergei64_89... Конечно, для вставки данных нужно сделать INSERT, поэтому правильный ответ - "вставка данных возможна только на уровне приложения". Но, конечно, чтобы не получались ситуации "человек одновременно и мужчина и женщина", нужно сделать соответствующий констрейн. Какой констрейн? Проблема в слове "одновременно". Мы сейчас далеко зайдем. Так как очевидно, что "не одновременно" человек может быть мужчиной и женщиной. Впрочем, одновременно тоже может:) На первый взгляд необходима какая-то специфическая характеристика в "головной" таблице, значение которой будет "направлять" нас правильным образом. Но ведь значение этой характеристики тоже меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 14:05 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Бредятинаalexeyvg Я вот не понял вопроса sergei64_89... Конечно, для вставки данных нужно сделать INSERT, поэтому правильный ответ - "вставка данных возможна только на уровне приложения". Но, конечно, чтобы не получались ситуации "человек одновременно и мужчина и женщина", нужно сделать соответствующий констрейн. Какой констрейн? Проблема в слове "одновременно". Мы сейчас далеко зайдем. Так как очевидно, что "не одновременно" человек может быть мужчиной и женщиной. Впрочем, одновременно тоже может:) На первый взгляд необходима какая-то специфическая характеристика в "головной" таблице, значение которой будет "направлять" нас правильным образом. Но ведь значение этой характеристики тоже меняется.Обычный констрейн, не позволяющий создать для записи в головной таблице записи сразу в двух таблицах "ЭМ" и "ЖО" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 14:16 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
К примеру.люди(ид,фио),студенты(ид,номер зачетки),преподаватели(ид,должность).при вставки новой записи в люди потребуется наличие записей и в студентах и преподавателях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 14:26 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Это ситуация описывает супертип подтип.но вот как реализовать при связи один к нулю или к одному я так и не понял.если кто знает,то поделитесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 14:30 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
sergei64_89Это ситуация описывает супертип подтип.но вот как реализовать при связи один к нулю или к одному я так и не понял.если кто знает,то поделитесь 3 таблицы: люди(ид, тип, фио) студенты(ид, тип, номер зачетки) преподаватели(ид, тип, должность) В каждой таблице 2 ключа: ид (ПК) ид, тип (АК) Таблицы студенты, преподаватели ссылаются (ФК) на люди В таблицах студенты, преподаватели делается дополнительно чек-констрейн на поле тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 15:00 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
alexeyvg Обычный констрейн, не позволяющий создать для записи в головной таблице записи сразу в двух таблицах "ЭМ" и "ЖО" :-) Не годится. Что же Вы игнорируете объяснения?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 15:33 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
sergei64_89К примеру.люди(ид,фио),студенты(ид,номер зачетки),преподаватели(ид,должность).при вставки новой записи в люди потребуется наличие записей и в студентах и преподавателях. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 15:38 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
alexeyvg 3 таблицы: люди(ид, тип, фио) студенты(ид, тип, номер зачетки) преподаватели(ид, тип, должность) В каждой таблице 2 ключа: ид (ПК) ид, тип (АК) Таблицы студенты, преподаватели ссылаются (ФК) на люди В таблицах студенты, преподаватели делается дополнительно чек-констрейн на поле тип Не красиво ид, тип (АК) в первой таблице. Станет студент преподавателем:)... А тип в двух других таблицах, наверное, одинаковый для всех записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 15:44 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Бредятина, предложите свою реализацию,подскажите что есть АК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 16:08 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Бредятинаalexeyvg 3 таблицы: люди(ид, тип, фио) студенты(ид, тип, номер зачетки) преподаватели(ид, тип, должность) Не красиво ид, тип (АК) в первой таблице. Станет студент преподавателем:)... А тип в двух других таблицах, наверное, одинаковый для всех записей?Этот способ позволяет надёжно, встроенными средствами любой СУБД решить поставленную задачу. Станет студент преподавателем, будет учить, как правильно строить модели данных :-) Поле тип не выходит за рамки этих двух таблиц (разве что фильтр сделать), все ссылки будут только на поле "ид". В двух других таблицах тип одинаковый для всех записей, и для контроля этого даже предусмотрены чек-констрейны, как я ранее написал. По моему, типовая схема, я её лет 10-15 использую - с помощью всего-лишь АК и ФК обеспечить целостность данных для . Решение "К сожалению, на уровне СУБД решения нет, только на уровне приложения." считаю неправильным - если есть возможность простыми встроенными средствами СУБД обнспечить целостность, её нужно использовать. Знаем мы это "на уровне приложения" :-) БредятинаНе годится. Что же Вы игнорируете объяснения?:)Игнорирую, потому что вы не объясняете, а только говорите, что заете, как в таких случаях надо делать :-) Буду благодарен за альтернативные варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 20:51 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
sergei64_89подскажите что есть АКАК - это альтернативный ключ. В конкретных реализациях СУБД это может быть уникальный констрейн или уникальный индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 20:52 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
alexeyvg Этот способ позволяет надежно, встроенными средствами любой СУБД решить поставленную задачу. Станет студент преподавателем, будет учить, как правильно строить модели данных :-) Поле тип не выходит за рамки этих двух таблиц (разве что фильтр сделать), все ссылки будут только на поле "ид". Не позволяет. Вообще не позволяет. Но Вы продолжаете игнорировать замечания, или отделываетесь шутками:) Тоже вариант, конечно, Жаль, если единственный:) alexeyvg В двух других таблицах тип одинаковый для всех записей, и для контроля этого даже предусмотрены чек-констрейны, как я ранее написал. Это нонсенс. Даже ради "встроенных средств". Поддерживать одно значение атрибута для всех записей. alexeyvg По моему, типовая схема, я её лет 10-15 использую - с помощью всего-лишь АК и ФК обеспечить целостность данных для . А здесь не проходит. Человек может быть и студентом, и преподавателем. alexeyvg Решение "К сожалению, на уровне СУБД решения нет, только на уровне приложения." считаю неправильным - если есть возможность простыми встроенными средствами СУБД обнспечить целостность, её нужно использовать. Конечно. Если есть возможность. alexeyvg Игнорирую, потому что вы не объясняете, а только говорите, что заете, как в таких случаях надо делать :-) Неправда. Я объяснил почему так делать нельзя. И не говорил что знаю, как "в таких случаях надо делать". Я и не могу этого сказать, так как постановки задачи нет. Чтобы была понятна перспектива, нюансы и т.д. Абсолютно теоретическая постановка. Так что можно размышлять, фантазировать:) А Вы сразу констрэйны какие-то. [quot alexeyvg] Буду благодарен за альтернативные варианты. Я бы почти наверняка хранил бы все в одном объекте. Ограничений на количество характеристик объекта ("колонок" в "таблице") никаких нет в нормальной СУБД. Сгруппировать характеристики просто (это даже сам пользователь может сделать). Нет проблем для той ограниченной постановки, которая прозвучала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 22:12 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Бредятинаalexeyvg Этот способ позволяет надежно, встроенными средствами любой СУБД решить поставленную задачу. Станет студент преподавателем, будет учить, как правильно строить модели данных :-) Поле тип не выходит за рамки этих двух таблиц (разве что фильтр сделать), все ссылки будут только на поле "ид". Не позволяет. Вообще не позволяет. Но Вы продолжаете игнорировать замечания, или отделываетесь шутками:) Тоже вариант, конечно, Жаль, если единственный:)"Не позволяет." и даже "Вообще не позволяет." - это не аргумент. БредятинаalexeyvgВ двух других таблицах тип одинаковый для всех записей, и для контроля этого даже предусмотрены чек-констрейны, как я ранее написал. Это нонсенс. Даже ради "встроенных средств". Поддерживать одно значение атрибута для всех записей."Нонсенс" - тоже не аргумент. Ради поддержки целостности наиболее экономичным, простым и надёжным способом я пойду даже на это :-) Ваше альтернативное решение, как я понял, это забить на целостность ради отсутствия неких абстрактных "нонсенсов"? Бредятинаalexeyvg По моему, типовая схема, я её лет 10-15 использую - с помощью всего-лишь АК и ФК обеспечить целостность данных для . А здесь не проходит. Человек может быть и студентом, и преподавателем.1. Если исходить из постановки задачи ТС, то человек не может быть и студентом, и преподавателем. 2. Если расширить постановку задачи, и человек может быть и студентом, и преподавателем, то это значит (расшифровываю), что человек может иметь объединённый набор атрибутов студента и преподавателя. В этом случае нужно добавить значение типа "студент_преподаватель" и разрешить добавлять такие записи в обе дочерние таблицы. И заодно завести тип "никто", каковым отмечать людей, не являющихся ни студентом, не преподавателем. Бредятинаalexeyvg Буду благодарен за альтернативные варианты. Я бы почти наверняка хранил бы все в одном объекте. Ограничений на количество характеристик объекта ("колонок" в "таблице") никаких нет в нормальной СУБД. Сгруппировать характеристики просто (это даже сам пользователь может сделать). Нет проблем для той ограниченной постановки, которая прозвучала.Я бы тоже почти наверняка так сделал для данной задачи (хотя нужны детали постановки). Но часто делал и так, как описывал. Если у студентов и преподавателей 3 общих атрибута и по 50 непересекающихся, то 100 полей стиля "здесь читаем а здесь рыбу заворачивали" не пойдёт на пользу системе. Тимичный пример применения - всякие документо-ориентированные системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 22:33 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
alexeyvg "Не позволяет." и даже "Вообще не позволяет." - это не аргумент. Я же объяснил почему не позволяет. А Вы проигнорировали. Причем уже в третий раз:) alexeyvg "Нонсенс" - тоже не аргумент. Ради поддержки целостности наиболее экономичным, простым и надёжным способом я пойду даже на это :-) Ваше альтернативное решение, как я понял, это забить на целостность ради отсутствия неких абстрактных "нонсенсов"? Какое "мое решение"? Ваше решение никуда не годится. Оно просто неработоспособно. Далее Вы его будете уточнять. alexeyvg 1. Если исходить из постановки задачи ТС, то человек не может быть и студентом, и преподавателем. Неправда, нет этого в постановке, и про мужчин и женщин не забывайте, и про разные классы мужчин и женщин тоже не забывайте:) alexeyvg 2. Если расширить постановку задачи, и человек может быть и студентом, и преподавателем, то это значит (расшифровываю), что человек может иметь объединённый набор атрибутов студента и преподавателя. В этом случае нужно добавить значение типа "студент_преподаватель" и разрешить добавлять такие записи в обе дочерние таблицы. И заодно завести тип "никто", каковым отмечать людей, не являющихся ни студентом, не преподавателем. Ага. Когда я Вам это сообщил, Вы проигнорировали. И что же, Вы серьезно считаете эту логику, о которой написали, не элементом приложения? alexeyvg Если у студентов и преподавателей 3 общих атрибута и по 50 непересекающихся, то 100 полей стиля "здесь читаем а здесь рыбу заворачивали" не пойдёт на пользу системе. Ну вот, видите, Вы стали говорить "если". А раньше ссылались на постановку автора - в ней же не было "50 непересекающихся":) А почему "не пойдет на пользу системе"? Что с ней случится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 23:03 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
alexeyvg, Спасибо за ответ.не обрашайте внимание на бредятина.человек тролит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 23:04 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
sergei64_89alexeyvg, Спасибо за ответ.не обрашайте внимание на бредятина.человек тролит. Поддерживаю:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 23:21 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
Бредятинаalexeyvg 2. Если расширить постановку задачи, и человек может быть и студентом, и преподавателем, то это значит (расшифровываю), что человек может иметь объединённый набор атрибутов студента и преподавателя. В этом случае нужно добавить значение типа "студент_преподаватель" и разрешить добавлять такие записи в обе дочерние таблицы. И заодно завести тип "никто", каковым отмечать людей, не являющихся ни студентом, не преподавателем. Ага. Когда я Вам это сообщил, Вы проигнорировали. И что же, Вы серьезно считаете эту логику, о которой написали, не элементом приложения?Приложение - это код на клиенте (в т.ч. на сервере приложения). А я говорю про необходимость по возможности реализовать целостность на уровне ограничений модели данных. Вот в данном случае эта возможность есть, я её описал. "разрешить добавлять такие записи " - это я же говорил не про код в приложении. Бредятинаalexeyvg Если у студентов и преподавателей 3 общих атрибута и по 50 непересекающихся, то 100 полей стиля "здесь читаем а здесь рыбу заворачивали" не пойдёт на пользу системе. Ну вот, видите, Вы стали говорить "если". А раньше ссылались на постановку автора - в ней же не было "50 непересекающихся":)Ну, видите-ли, тут разные вещи - как я сделал-бы сам, и ответ на вопрос ТС. На вопрос ТС, как лучьше реализовать указанное им решение №2, я привёл вышеописанный вариант. По поводу сравнения вариантов №1 и №2 я вообще не высказывался - не имею достаточно данных. А как я сделал-бы сам - это конечно зависит от условий задачи - я делал по разному... БредятинаА почему "не пойдет на пользу системе"? Что с ней случится?Потому что при таких схемах через несколько лет эксплуатации и несколько поколений меняющих систему программистов данные неуловимо изменяться :-) Будут совершенно фантастические комбинации заполнения полей. Констрейны это всё будут хоть немного сдерживать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 23:34 |
|
||
|
Когда нужна связь один-к-одному?
|
|||
|---|---|---|---|
|
#18+
alexeyvg Приложение - это код на клиенте (в т.ч. на сервере приложения). А я говорю про необходимость по возможности реализовать целостность на уровне ограничений модели данных. Вот в данном случае эта возможность есть, я её описал. "разрешить добавлять такие записи " - это я же говорил не про код в приложении. [/quot] Я-то считаю, что на клиенте недолжно быть никаких кодов:) А то, что Вы программируете, так как это не запрограммировали разработчики СУБД, является частью приложения (или многих приложений, что не меняет сути дела, когда на клиенте нет кодов). То есть, мы просто по-разному понимаем некие термины. Так что я с Вами согласен, конечно, по этому аспекту:) alexeyvg Ну, видите-ли, тут разные вещи - как я сделал-бы сам, и ответ на вопрос ТС. На вопрос ТС, как лучше реализовать указанное им решение №2, я привёл вышеописанный вариант. По поводу сравнения вариантов №1 и №2 я вообще не высказывался - не имею достаточно данных. А как я сделал-бы сам - это конечно зависит от условий задачи - я делал по разному... Это понятно. Непонятным осталось обоснование Типов в "дочерних" таблицах. Разве Вы не можете написать код (на стороне сервера), который обеспечит то, что Вам нужно без этих атрибутов? alexeyvg Потому что при таких схемах через несколько лет эксплуатации и несколько поколений меняющих систему программистов данные неуловимо изменяться :-) Будут совершенно фантастические комбинации заполнения полей. Констрейны это всё будут хоть немного сдерживать. Данные, конечно, изменятся:) Но при чем здесь вообще программисты? Пользователи будут группировать характеристики объектов так, как им удобнее, В ЛЮБОМ СЛУЧАЕ. Программисты, к счастью, не могут им в этом мешать:) А про констрэйны см. в предыдущем абзаце. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2010, 22:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36903235&tid=1542484]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 491ms |

| 0 / 0 |
