powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделить удаленные записи в Grid
25 сообщений из 179, страница 3 из 8
Выделить удаленные записи в Grid
    #37137528
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед каждым этапом теста фокс перезапускался.
Первый запуск не учитывал. Точнее запускал раз 15-20 подряд, время брал минимальное.
Общий порядок такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 1 . use MyTable excl
delete tag all
delete for recno() %  3  =  0 
index on nTovarId tag nTovarId
* перезапуск фокса, тест
 2 . use MyTable excl
index on deleted() tag del binary
* перезапуск фокса, тест
 3 . use MyTable excl
delete tag all
pack
index on nTovarId tag nTovarId
* перезапуск фокса, тест
 4 . use MyTable excl
index on deleted() tag del binary
* перезапуск фокса, тест
Код теста (test.prg):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if !used('MyTable')
	use MyTable in  0  shared
endif

lnSec = Seconds()
select * from MyTable;
	where nTovarId =  12345 ;
	into cursor tres nofilter
? Seconds() - lnSec
Я думаю тест объективный получился
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37137592
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, а если увеличить количество записей, помеченных как удаленные или уменьшить общее количество записей таблицы? Будет ли наблюдаться изменение пропорции во времени выборки с индексом по Deleted() и без него?

Я к тому, что HELP говорит о некоем "пороговом" значение, когда индекс по Deleted() все-таки ускоряет выполнение выборки. Возможно, что в твоем примере, ты не достиг этого "порога".
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37137653
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TПопроверял на других значениях nTovarId, получил на одном из значений результат с индексом быстрее на 0.002 сек.
Хотя если сделать PACK, то без индекса быстрее на 0.012 сек.

Вобщем мои выводы не в пользу индекса, согласен, он не мешает, но и не помогает.

итого, договорились все-же до того, что индекс не мешает.

насчет того, что не помогает - не согласен,
так как существуют проекты - (ПО),
которые(ое) эксплуатируются вдали от разработчиков,
и без присутствия админов.

поэтому предусмотрев наличие индексов,
оптимизирующих выборки при наличии удал-х записей,
разработчик гарантирует стабильную работу ПО
вдали от себя.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37137801
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимонасчет того, что не помогает - не согласен,
так как существуют проекты - (ПО),
которые(ое) эксплуатируются вдали от разработчиков,
и без присутствия админов.

поэтому предусмотрев наличие индексов,
оптимизирующих выборки при наличии удал-х записей,
разработчик гарантирует стабильную работу ПО
вдали от себя.
Если подразумевается, что в таблице накапливается большое количество записей, помеченных как удаленные, то индекс - это не замена команды PACK, а всего-лишь сокрытие одной из проблем, связанных с отсутствием физического удаления записей. Проблемы замедления выполнения запроса.

Однако с другой стороны, пока записей помеченных как уделенные нет или очень мало, то такой индекс сам начинает тормозить выполнение запроса.

Получается, парадоксальная ситуация. Чтобы получить выигрыш от использования подобного индекса необходимо накопить достаточное количество "мусора". А до тех пор, сам индекс будет выступать в роли "мусора" (т.е. сам будет тормозить работу). А не проще ли выбрасывать "мусор", когда его накапливается столько, что он начинает тормозить работу?

В любом случае, любое ПО обязано предусматривать наличие процедур по обслуживанию баз данных. Вне зависимости от того, есть админ или нет. В данном случае, по физическому удалению записей, помеченных как удаленные. Т.е. подаче команды PACK. А вот как это организовать, чтобы "тупой пользователь" не повредил приложение - это уже другой вопрос.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37138318
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМОднако с другой стороны, пока записей помеченных как уделенные нет или очень мало, то такой индекс сам начинает тормозить выполнение запроса.

еще раз,
покажите это торможение.

на сколько присутствие индекса "тормозит" выполнение запроса
и на сколько такое "торможение" актуально.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37138473
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимоВладимирМОднако с другой стороны, пока записей помеченных как уделенные нет или очень мало, то такой индекс сам начинает тормозить выполнение запроса.
еще раз,
покажите это торможение.

на сколько присутствие индекса "тормозит" выполнение запроса
и на сколько такое "торможение" актуально.
Гм... Вы что, результаты тестирования, приведенные Dima T не читали? Если Вас смущает мизерное влияние на производительность, то почему Вы считаете, что ускорение при превышении некоего порога будет более существенным?

Еще раз, а Вы сами-то можете привести пример, подтверждающий Ваши слова? Насколько присутствие индекса "ускоряет" выполнение запроса? Сколько при этом должно быть записей, помеченных как удаленные?

Пока что, я присоединяюсь к мнению Dima T . В подавляющем большинстве задач, наличие подобного индекса - не оправдано. Затраты выше, чем польза.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37138924
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМпрошелмимопропущено...

еще раз,
покажите это торможение.

на сколько присутствие индекса "тормозит" выполнение запроса
и на сколько такое "торможение" актуально.
Гм... Вы что, результаты тестирования, приведенные Dima T не читали? Если Вас смущает мизерное влияние на производительность, то почему Вы считаете, что ускорение при превышении некоего порога будет более существенным?

Еще раз, а Вы сами-то можете привести пример, подтверждающий Ваши слова? Насколько присутствие индекса "ускоряет" выполнение запроса? Сколько при этом должно быть записей, помеченных как удаленные?

Пока что, я присоединяюсь к мнению Dima T . В подавляющем большинстве задач, наличие подобного индекса - не оправдано. Затраты выше, чем польза.

суть разговора заведенного изначально:
наличие бинарного индекса, предназначенного для оптимизации
при наличии большого кол-ва уд-х записей,
при отсутствии таких записей
существенно замедляет выборки.

т.е. изречение было:
"индекс тормозит".

итого тестами достигнут вывод:
наличие индекса "не тормозит".
т.е. если есть бинарный индекс и нет удаленных записей,
то наличие индекса не вносит "тормоз".

Вывод Dima T:
Вобщем мои выводы не в пользу индекса, согласен, он не мешает, но и не помогает.

Все, больше мне от теоретиков не нужно никаких выводов.

Никаких "затрат" на создание индекса и при наличии индекса нет.
Про ускорение от наличия индекса при отсутствии удаленных записей речи не было.
Такой индекс будет ускорять выборки при наличии удаленных записей,
что имеет быть часто на практике, когда приложения работают вдали от разработчиков.

Упаковка таблиц не является строгой необходимостью,
а должна применяться строго осмысленно и по рекомендации разработчика ПО.
Упаковывать таблицы необходимо при осмысленной необходимости и только в монопольном режиме.
У разработчика имеется также имеется возможность не применять не упаковку,
а создать алгоритм востановление записей и т.д.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37138977
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимонасчет того, что не помогает - не согласен,
так как существуют проекты - (ПО),
которые(ое) эксплуатируются вдали от разработчиков,
и без присутствия админов.

поэтому предусмотрев наличие индексов,
оптимизирующих выборки при наличии удал-х записей,
разработчик гарантирует стабильную работу ПО
вдали от себя.
Повторю свое мнение - отсутствие помеченных на удаление дает значительно большую производительность, чем хитрый индекс при большом количестве помеченных. Основные тормоза из-за чтения по сети:
Да, хитрый индекс немного уменьшает чтение данных, но полезные индексы все равно содержат ссылки на все записи независимо от пометки на удаления и это тянется на клиента. Размер индекса прямо-пропорционален количеству записей. Например индекс по полю типа int занимает 4 байта на 1 запись. Индекс типа BINARY 1 бит на запись.

Потом есть специфика чтения данных фоксом - чтение идет блоками по несколько записей подряд (filemon`ом можно увидеть), например в моем случае при размере записи 25 байт читаются блоки по 525. Т.е. помеченные все-равно будут читаться на клиента, если попадут в блок с нужными.

Непонятно почему команда PACK требует присутствия админа? Пересоздание индексов тоже админ должен делать?
Если есть проблемы с железом, то попортить таблицы можно и "легальными" операциями записи. Если с железом все нормально, то от PACKа проблем нет.
Если уж нужна супер-мега-устойчивость: бэкап перед паком, добавление контроля и восстановление из бэкапа в случае вылета в процессе пака.
Хотя эта процедура прописана качественно разработчиками фокса: создается временный файл, туда переносятся все непомеченные записи, удаляется исходный, временный переименовывается в DBF.
Лично у меня из-за PACKа никогда проблем не было. Во многих местах софт работает годами при ежедневном индексировании и упаковке без всякого админского вмешательства.

В нормально спроектированной базе помеченных на удаление не должно быть в большом количестве. Это ж надо иметь юзера-маньяка который что-то набивает, сохраняет, потом удаляет, и так по кругу целыми днями.

Если по каким-то причинам эту проблему не решить, технологически необходимо помногу удалять и писать заново, тогда надо делать повторное использование помеченных на удаление записей, а не надеяться на какой-то шаманский индекс, который возможно минимизирует тормоза.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37139092
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторю свое мнение -

наличие хитрого индекса не вносит проблем
в скорость выполнения запросов.

если у пользователей и админов паранойа,
то они могут без устали гонять друг-дружку из сети,
и танцева с "бубнами".

наличие бинарного индекса позволяет оптимизировать
запросы при наличии удаленных записей в таблицах,
что дает возможность
работать без упаковки таблиц.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37139184
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускникПовторю свое мнение -
Вобщем давай останемся каждый при своем мнении, т.к. предмет спора совсем не в индексе.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37139289
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЮристишко-выпускникПовторю свое мнение -
Вобщем давай останемся каждый при своем мнении, т.к. предмет спора совсем не в индексе.

ок, нечего было затевать "срачь" и доказывать про "тормоза".

как выяснилось, "тормозов" - нет.

на этом и постановим:
наличие бинарного индекса по удал-м записям не вредит никому.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37139778
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускникDima Tпропущено...

Вобщем давай останемся каждый при своем мнении, т.к. предмет спора совсем не в индексе.
ок, нечего было затевать "срачь" и доказывать про "тормоза".

как выяснилось, "тормозов" - нет.
Гм... как будто вообще не читали тему. Ведь показали же, что "тормоза" есть. И не "теоретическими" рассуждениями, а сугубо практическими примерами. А вот чтобы почувствовать "ускорение" надо приложить определенные усилия. Другой вопрос в размере этих самых "тормозов" и "ускорений".

Юристишко-выпускникна этом и постановим:
наличие бинарного индекса по удал-м записям не вредит никому.
Да, согласен, особого вреда от него нет. Но и польза, в большинстве случаев, сомнительна. Как относительно "бесполезная" вещь, действительно не вредит никому.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37140895
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМВедь показали же, что "тормоза" есть.

теоретек, ихде?

Ваши советы нужны только детям - идите строго на фоксклаб!
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37141222
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы "вдруг" пропустили , то мне не трудно повторить

Dima TПерепроверил странные результаты, нашел несколько косяков в тесте:
1. select ставил фильтр на на таблицу, поправил запрос на такой select * from Table where nTovarId = 12345 into cursor tRes nofilter
2. индекс делал обычный, без BINARY
3. в tRes попадают 20,5 тыс.записей (остаются среди помеченных на удаление 10 тыс.)

Результаты:
0.066 сек. без хитрого индекса
0.080 сек с индексом по deleted()

Сделал PACK (стало 30 млн записей, 0,7 Гб):
0.050 сек. без хитрого индекса
0.061 сек с индексом по deleted()

В итоге все равно никакой пользы от хитрого индекса , хотя она должна бы быть судя по хэлпам.
Потери времени небольшие, но все-таки потери.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37141405
Banditos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,
Прошу прощения, что вмешиваюсь, но...

Если таки записей, помеченных на удаление, так мало (менее 3%), что бинарный индекс будет только мешать... Зачем тогда паковать таблицу?
Ведь вроде Ваше спор начался именно с необходимости упаковки таблицы. И именно упаковку таблицы уважаемый прошелмимо именно в данном случае предлагал заменить на индекс.
Весьма вероятно, что я что-то не понимаю в Вашем споре.
Но, имхо, выглядит так, что вы с Dima T подменяете понятия: начали разговор про необходимость упаковки таблицы, продолжили про то, что индекс при записях менее 3% мешает... Или Вы считаете, что наличие помеченных для удаления записей в количестве менее 3% - уже веское обоснование для периодической (постоянной?) упаковки таблицы?
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37141733
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditosВедь вроде Ваше спор начался именно с необходимости упаковки таблицы. И именно упаковку таблицы уважаемый прошелмимо именно в данном случае предлагал заменить на индекс.
Вроде как об этом и спорили. Мой вывод:
Dima TПопроверял на других значениях nTovarId, получил на одном из значений результат с индексом быстрее на 0.002 сек.
Хотя если сделать PACK, то без индекса быстрее на 0.012 сек.

Вобщем мои выводы не в пользу индекса, согласен, он не мешает, но и не помогает.

BanditosВесьма вероятно, что я что-то не понимаю в Вашем споре. Но, имхо, выглядит так, что вы с Dima T подменяете понятия: начали разговор про необходимость упаковки таблицы, продолжили про то, что индекс при записях менее 3% мешает... Или Вы считаете, что наличие помеченных для удаления записей в количестве менее 3% - уже веское обоснование для периодической (постоянной?) упаковки таблицы?
Тут я ничего не понял. Как-то ты лихо рекомендации от МС "использовать хитрый индекс при более 3% помеченных на удаление" превратил в "веское обоснование для упаковки таблицы".

Чего-то ты так все вывернул, что для ответа весь наш спор заново надо повторить. Перечитай топик.

PS "прошелмимо" и "Юристишко-выпускник" это один и тот же человек.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37141985
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМЕсли Вы "вдруг" пропустили , то мне не трудно повторить

Dima TПерепроверил странные результаты, нашел несколько косяков в тесте:
1. select ставил фильтр на на таблицу, поправил запрос на такой select * from Table where nTovarId = 12345 into cursor tRes nofilter
2. индекс делал обычный, без BINARY
3. в tRes попадают 20,5 тыс.записей (остаются среди помеченных на удаление 10 тыс.)

Результаты:
0.066 сек. без хитрого индекса
0.080 сек с индексом по deleted()

Сделал PACK (стало 30 млн записей, 0,7 Гб):
0.050 сек. без хитрого индекса
0.061 сек с индексом по deleted()

В итоге все равно никакой пользы от хитрого индекса , хотя она должна бы быть судя по хэлпам.
Потери времени небольшие, но все-таки потери.

Вам вместе с Димой нехер заняться?

И Дима и Владмир это тоже один человек?
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142000
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВроде как об этом и спорили. Мой вывод:

Ваш вывод неверный.

Вы начали свои высеры с того, что наличие индекса - это какой-то
"тормоз".

В итоге Вы наловили микросекунд.

Следовательно,
нужно помолчать.
Тупо читать и молчать.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142021
Banditos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TPS "прошелмимо" и "Юристишко-выпускник" это один и тот же человек.

Я это понял.

Кстати, меня сильно смущает Ваше тестирование.
Что именно Вы хотели показать нам этим тестированием?

А можно спросить: для чего вообще, по Вашему мнению, нужен этот самый бинарный индекс?
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142241
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юристишко-выпускникИ Дима и Владмир это тоже один человек?
Разные
Юристишко-выпускникDima TВроде как об этом и спорили. Мой вывод:

Ваш вывод неверный.

Вы начали свои высеры с того, что наличие индекса - это какой-то
"тормоз".

В итоге Вы наловили микросекунд.
Ппц, сколько счастья что ты прав, всю ветку зафлудил.
Да, подтверждаю, ты ПРАВ в том что этот индекс не дает тормозов. Удовлетворен? Или справку на бумаге выдать?
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142253
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditosКстати, меня сильно смущает Ваше тестирование.
Смущает - проведи свое. Выложи результат - обсудим.
BanditosЧто именно Вы хотели показать нам этим тестированием?
То что надо PACK регулярно делать и/или не плодить помеченные на удаление записи. Без помеченных на удаление быстрее выборки делаются чем с помеченными при наличии индекса.
BanditosА можно спросить: для чего вообще, по Вашему мнению, нужен этот самый бинарный индекс?
Я уже писал выше свое предположение: "Предложение создавать такие индексы со стороны МС появилось для желающих видеть полную оптимизацию по SYS(3054,11)"
Может они иногда ускоряют выборку как утверждает МС, но в моих тестах этого не произошло.
У меня выборка по той же таблице после PACK всегда происходила заметно быстрее.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142310
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BanditosВладимирМ,
Прошу прощения, что вмешиваюсь, но...

Если таки записей, помеченных на удаление, так мало (менее 3%), что бинарный индекс будет только мешать... Зачем тогда паковать таблицу?
Ведь вроде Ваше спор начался именно с необходимости упаковки таблицы. И именно упаковку таблицы уважаемый прошелмимо именно в данном случае предлагал заменить на индекс.
Нет. Спор совсем о другом. Вы смешали несколько понятий. Повторю, вкратце.

1. Если записей, помеченных как удаленные нет совсем или их очень мало, то:

1.1. Индекс по выражению Deleted() будет только мешать. Замедлит выполнение выборки
1.2. Использовать команду PACK - пока рано, поскольку существенного выигрыша в производительности это не принесет

2. Если записей, помеченных как удаленные больше некоего порогового значения (сколько именно, определяется в каждом конкретном случае отдельно. Help говорит о 3%, но тут же уточняет, что не факт), то

2.1. Индекс по выражению Deleted() ускорит выполнение выборки
2.2. Добиться ускорение выборки можно физически удалив все записи ранее помеченные как удаленные. Т.е. дать команду PACK

Далее из этого возникла "подтема"

прошелмимо : Для "коробочного" ПО использовать команду PACK - недопустимо. Следовательно, надо использовать индекс по Deleted()

Dima T , ВладимирМ : Любое ПО и "коробочное", в том числе, обязано иметь ряд служебных процедур по мелкому ремонту. В том числе, и по физическому удалению записей, помеченных как удаленные. Следовательно, использование индекса по Deleted() - бессмысленно. Как только программа начнет заметно тормозить надо просто выполнить процедуру упаковки.

Под термином "коробочное" ПО, в данном случае подразумевается, что у клиента, где работает программа, нет администратора или программиста, которые могли бы "вручную" открыть таблицы и также "вручную" дать команду PACK

Вот, собственно, и все. С нашей с Dima T точки зрения, индекс по Deleted() - бесполезен. Аргументация прошелмимо , ну, сами читали.... Вероятно, он либо никогда не использовал индексы по Deleted(), либо не проводил тестирование его эффективности.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142386
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь тред не читал, а что мешает использовать фильтрованный индекс,... подкидываю идею для исследования :)
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142423
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЮристишко-выпускникИ Дима и Владмир это тоже один человек?
Разные
Юристишко-выпускникпропущено...


Ваш вывод неверный.

Вы начали свои высеры с того, что наличие индекса - это какой-то
"тормоз".

В итоге Вы наловили микросекунд.
Ппц, сколько счастья что ты прав, всю ветку зафлудил.
Да, подтверждаю, ты ПРАВ в том что этот индекс не дает тормозов. Удовлетворен? Или справку на бумаге выдать?

Да, удовлетворен.

Поэтому мудакам-кулинарам пишущим лозунги:
"Вы не любите кошек? Просто Вы не умеете их готовить"

место на фоксклабе - там флуда нет,
а здесь счаз я еще повеселюсь.

заметь еще,
что про "ракетоносные св-ва" чудоиндекса я еще не начинал пока писать.
...
Рейтинг: 0 / 0
Выделить удаленные записи в Grid
    #37142424
Юристишко-выпускник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistВесь тред не читал, а что мешает использовать фильтрованный индекс,... подкидываю идею для исследования :)

мешают теоретические труды
...
Рейтинг: 0 / 0
25 сообщений из 179, страница 3 из 8
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выделить удаленные записи в Grid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]