|
|
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Всем привет. Странное поведение ИМХО. сделал: Код: sql 1. выполняю запрос: Код: sql 1. 2. 3. такой план: Код: sql 1. 2. 3. незначительно меняю запрос: Код: sql 1. 2. 3. теперь такой план: Код: sql 1. 2. 3. 4. 5. 6. как сделать чтобы и во втором запросе был план как в первом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 12:05:16 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Gold_, для начала привести реальный 2-й запрос, а то как-то не того-этого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 12:09:53 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
--поправил, разница в пять минут s.start_datetime < '2014-08-01 00:55' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 13:33:08 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Gold_, А можно вывод Код: sql 1. глянуть, на оба варианта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:17:05 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
vyegorov, первый Код: sql 1. 2. 3. 4. 5. 6. Код: sql 1. 2. 3. стал работать "правильно" смещаю еще на пять минут Код: sql 1. 2. 3. не могу дождаться выполнения ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 14:59:28 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Gold_, SELECT count(1) FROM session; ? ЗЫ сделайте CTE выборку по времени, а только от него -- агрегат. Будет аналогично 1-му всегда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 15:24:15 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
--поправилGold_, SELECT count(1) FROM session; ? ЗЫ сделайте CTE выборку по времени, а только от него -- агрегат. Будет аналогично 1-му всегда 122860475 спасибо! так и сделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2014, 16:16:55 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Сделал. Но вопрос остался. Почему выбирался такой план? "PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 10:01:57 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Gold_Сделал. Но вопрос остался. Почему выбирался такой план? Я полагаю, что в таблицу данные прибывают резвенько, а с настройками по умолчанию для больших таблиц `autvacuum` приходит все реже. Вот база и посчитала, что ей будет выгоднее пойти по индексу `sessions_pkey`. Связано может быть с тем, что на момент запроса гистограмма показала ожидание по записям существенно выше реального. Рекомендую сделать так Код: sql 1. 2. 3. Это увеличит размер гистограммы для колонки `start_datetime` и заставит систему анализировать таблицу чаще. Должно стать лучше. Gold_"PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit" Надо до 9.2.9 апгрейднутся, дырки были. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 10:36:06 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
vyegorov, спасибо - попробую! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 12:51:27 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
vyegorov, Вообще перед стартом топика пробовал так: Код: sql 1. 2. не помогло. сейчас проверю еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 13:02:38 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Gold_ Код: sql 1. 2. Как по мне — 10000 много слишком. А вы могли бы подобрать такие значения `start_datetime`, чтобы повторить начальную ситуацию и запостить `EXPLAIN (analyze, buffers)` работающего диапазона `EXPLAIN` “бесконечного” диапазона `EXPLAIN (analyze, buffers)` для “бесконечного” диапазона с CTE Хочется глянуть на ожидания и реальные цифры. А индекс на `(strat_datetime,id)` рассматривался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 14:14:14 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
vyegorov, `EXPLAIN (analyze, buffers)` работающего диапазона Код: sql 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. `EXPLAIN` “бесконечного” диапазона Код: sql 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. `EXPLAIN (analyze, buffers)` для “бесконечного” диапазона с CTE Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 14:45:40 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
sessions_pkey это индекс на id ??? ну так у тебя там min(s.id) стоит. Это сбивает оптимизатор, понятно почему, никакая статистика тут не поможет. Ибо в ней нет данных о том как быстро при проходе по индексу по id от меньшего к большему мы попадем на запись в нужном интервале дат!! запрос вида: SELECT count(s.id) FROM sessions s WHERE s.start_datetime >= '2014-08-01 00:00' AND s.start_datetime < '2014-08-01 00:55' будет работать всегда по быстрому плану. так что попробуйте SELECT count(s.id),min(s.id) FROM sessions s WHERE s.start_datetime >= '2014-08-01 00:00' AND s.start_datetime < '2014-08-01 00:55' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:22:41 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Gold_, Ожидания совпадают. Не могу сказать почему оптимизатор решает, что пройти по `session_pkey` с фильтром ему будет дешевле. Попробуйте обновиться. Если возможно — поделитесь снимком таблички? Или хотя бы описанием ее (`\d sessions` в psql) и выводом запроса: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:41:54 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Duraksessions_pkey это индекс на id ??? ну так у тебя там min(s.id) стоит. Это сбивает оптимизатор, понятно почему, никакая статистика тут не поможет. Ибо в ней нет данных о том как быстро при проходе по индексу по id от меньшего к большему мы попадем на запись в нужном интервале дат!! А я не понимаю. С моей точки зрения оптимизатор должен быть пессимистичен и оценивать проход по `sessions_pkey` как проход по всему индексу с фильтрацией. Что должно быть явно дороже прохода по части другого индекса. Я потому и прошу снимок таблицы, чтобы побаловаться, индексы подропать… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:49:08 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Duraksessions_pkey это индекс на id ??? ну так у тебя там min(s.id) стоит. Это сбивает оптимизатор, понятно почему, никакая статистика тут не поможет. Ибо в ней нет данных о том как быстро при проходе по индексу по id от меньшего к большему мы попадем на запись в нужном интервале дат!! запрос вида: SELECT count(s.id) FROM sessions s WHERE s.start_datetime >= '2014-08-01 00:00' AND s.start_datetime < '2014-08-01 00:55' будет работать всегда по быстрому плану. так что попробуйте SELECT count(s.id),min(s.id) FROM sessions s WHERE s.start_datetime >= '2014-08-01 00:00' AND s.start_datetime < '2014-08-01 00:55' Ivan Durak, "sessions_pkey это индекс на id ?" Да Да работает, но это скорее похоже на CTE Объяснение не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:52:32 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
vyegorovIvan Duraksessions_pkey это индекс на id ??? ну так у тебя там min(s.id) стоит. Это сбивает оптимизатор, понятно почему, никакая статистика тут не поможет. Ибо в ней нет данных о том как быстро при проходе по индексу по id от меньшего к большему мы попадем на запись в нужном интервале дат!! А я не понимаю. С моей точки зрения оптимизатор должен быть пессимистичен и оценивать проход по `sessions_pkey` как проход по всему индексу с фильтрацией. Что должно быть явно дороже прохода по части другого индекса. Я потому и прошу снимок таблицы, чтобы побаловаться, индексы подропать… он не пессеместичен. Он оптимизирован! Ведь для вычисления min(id) и ежу понятно что проще взять поиском одну запись в индексе, а не сканить всё. Но у тебя не просто одна запись минимальная, а еще фильтр. Представь себе теперь что твой фильтр по датам покрывает весь диапазон в таблице. Какой план теперь оптимален?? Ответ - взять по индексу sessions_pkey первую запись! И тут все дело в распределении. Как распределятся даты относительно id. Такой информации нету в статистике. И он угадывает по принципу (если в фильтре по датам выбирается 1% таблицы, значит перебор последовательных id примерно к 100-й записи даст нам одну подпадающую под фильтр) Все, профит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 19:43:32 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakон не пессеместичен. Он оптимизирован! Ведь для вычисления min(id) и ежу понятно что проще взять поиском одну запись в индексе, а не сканить всё. Но у тебя не просто одна запись минимальная, а еще фильтр. Представь себе теперь что твой фильтр по датам покрывает весь диапазон в таблице. Какой план теперь оптимален?? Ответ - взять по индексу sessions_pkey первую запись! И тут все дело в распределении. Как распределятся даты относительно id. Такой информации нету в статистике. И он угадывает по принципу (если в фильтре по датам выбирается 1% таблицы, значит перебор последовательных id примерно к 100-й записи даст нам одну подпадающую под фильтр) Все, профит Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 20:36:39 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
vyegorovIvan Duraksessions_pkey это индекс на id ??? ну так у тебя там min(s.id) стоит. Это сбивает оптимизатор, понятно почему, никакая статистика тут не поможет. Ибо в ней нет данных о том как быстро при проходе по индексу по id от меньшего к большему мы попадем на запись в нужном интервале дат!! А я не понимаю. С моей точки зрения оптимизатор должен быть пессимистичен и оценивать проход по `sessions_pkey` как проход по всему индексу с фильтрацией. Что должно быть явно дороже прохода по части другого индекса. Я потому и прошу снимок таблицы, чтобы побаловаться, индексы подропать… надо уточнить у руководство. еще интересно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 21:08:54 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakvyegorovпропущено... А я не понимаю. С моей точки зрения оптимизатор должен быть пессимистичен и оценивать проход по `sessions_pkey` как проход по всему индексу с фильтрацией. Что должно быть явно дороже прохода по части другого индекса. Я потому и прошу снимок таблицы, чтобы побаловаться, индексы подропать… он не пессеместичен. Он оптимизирован! Ведь для вычисления min(id) и ежу понятно что проще взять поиском одну запись в индексе, а не сканить всё. Но у тебя не просто одна запись минимальная, а еще фильтр. Представь себе теперь что твой фильтр по датам покрывает весь диапазон в таблице. Какой план теперь оптимален?? Ответ - взять по индексу sessions_pkey первую запись! И тут все дело в распределении. Как распределятся даты относительно id. Такой информации нету в статистике. И он угадывает по принципу (если в фильтре по датам выбирается 1% таблицы, значит перебор последовательных id примерно к 100-й записи даст нам одну подпадающую под фильтр) Все, профит Объяснение в принципе понятно, но про процент не очень. Перефразирую Вас (как я понял) И он угадывает по принципу (если в фильтре по датам выбирается 1% таблицы, значит перебор последовательных id после 1% записей даст нам одну подпадающую под фильтр) правильно? Тогда вопросы по плану: Код: plaintext 1. 2. 3. 4. 5. 6. стоимость 14310657.98 - это стоимость поднятие индекса целиком? но 2491 записи оптимизатор, думает что найдет подходящий запись? Тогда процент перехода примерно 0,04 процента (5744.95/14310657.98*100) Но, тогда нет объяснение, как запрос работал месяц назад - от общего количества процент был меньше, а план был "правильным" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 21:50:22 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakvyegorovпропущено... А я не понимаю. С моей точки зрения оптимизатор должен быть пессимистичен и оценивать проход по `sessions_pkey` как проход по всему индексу с фильтрацией. Что должно быть явно дороже прохода по части другого индекса. Я потому и прошу снимок таблицы, чтобы побаловаться, индексы подропать… он не пессеместичен. Он оптимизирован! Ведь для вычисления min(id) и ежу понятно что проще взять поиском одну запись в индексе, а не сканить всё. Но у тебя не просто одна запись минимальная, а еще фильтр. Представь себе теперь что твой фильтр по датам покрывает весь диапазон в таблице. Какой план теперь оптимален?? Ответ - взять по индексу sessions_pkey первую запись! И тут все дело в распределении. Как распределятся даты относительно id. Такой информации нету в статистике. И он угадывает по принципу (если в фильтре по датам выбирается 1% таблицы, значит перебор последовательных id примерно к 100-й записи даст нам одну подпадающую под фильтр) Все, профит да, Вы правы Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: sql 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. SELECT 1.58/38889.36*100 0.004062807924841139067300 только процент меньший, но и условия другие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 22:22:15 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Gold_надо уточнить у руководство. еще интересно? Нет, спасибо. Уточните, пожалуйста, за сколько месяцев у вас там данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 22:53:51 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
vyegorovGold_надо уточнить у руководство. еще интересно? Нет, спасибо. Уточните, пожалуйста, за сколько месяцев у вас там данные? в этой таблице с 2012 года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 23:02:24 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakvyegorovпропущено... А я не понимаю. С моей точки зрения оптимизатор должен быть пессимистичен и оценивать проход по `sessions_pkey` как проход по всему индексу с фильтрацией. Что должно быть явно дороже прохода по части другого индекса. Я потому и прошу снимок таблицы, чтобы побаловаться, индексы подропать… он не пессеместичен. Он оптимизирован! Ведь для вычисления min(id) и ежу понятно что проще взять поиском одну запись в индексе, а не сканить всё. Но у тебя не просто одна запись минимальная, а еще фильтр. Представь себе теперь что твой фильтр по датам покрывает весь диапазон в таблице. Какой план теперь оптимален?? Ответ - взять по индексу sessions_pkey первую запись! И тут все дело в распределении. Как распределятся даты относительно id. Такой информации нету в статистике. И он угадывает по принципу (если в фильтре по датам выбирается 1% таблицы, значит перебор последовательных id примерно к 100-й записи даст нам одну подпадающую под фильтр) Все, профит нахер-нахер такую оптимизацию PS предположение о полной независимости распределения временных отсечек и id -- крайне редко выполняется. часто оно почти монотонно. т.е. последний процент дат будет лежать рядом с последним процентом id надеюсь таки в "пописать оптимайзер" таких долбо..бов за профитом не пускают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 03:57:29 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
йокарный бабайIvan Durakпропущено... он не пессеместичен. Он оптимизирован! Ведь для вычисления min(id) и ежу понятно что проще взять поиском одну запись в индексе, а не сканить всё. Но у тебя не просто одна запись минимальная, а еще фильтр. Представь себе теперь что твой фильтр по датам покрывает весь диапазон в таблице. Какой план теперь оптимален?? Ответ - взять по индексу sessions_pkey первую запись! И тут все дело в распределении. Как распределятся даты относительно id. Такой информации нету в статистике. И он угадывает по принципу (если в фильтре по датам выбирается 1% таблицы, значит перебор последовательных id примерно к 100-й записи даст нам одну подпадающую под фильтр) Все, профит нахер-нахер такую оптимизацию PS предположение о полной независимости распределения временных отсечек и id -- крайне редко выполняется. часто оно почти монотонно. т.е. последний процент дат будет лежать рядом с последним процентом id надеюсь таки в "пописать оптимайзер" таких долбо..бов за профитом не пускают ну так надо не нахер посылать, а головой подумать, и придумать коррелированную статистику по нескольким столбцам! А пока не придумали, хинты юзать. p.s. Ах, да в "пописать оптимизатор" таких не пускают, поэтому постре не хинтуют. Ну тогда удачи с костылями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 10:13:57 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakйокарный бабайпропущено... нахер-нахер такую оптимизацию PS предположение о полной независимости распределения временных отсечек и id -- крайне редко выполняется. часто оно почти монотонно. т.е. последний процент дат будет лежать рядом с последним процентом id надеюсь таки в "пописать оптимайзер" таких долбо..бов за профитом не пускают ну так надо не нахер посылать, а головой подумать, и придумать коррелированную статистику по нескольким столбцам! А пока не придумали, хинты юзать. p.s. Ах, да в "пописать оптимизатор" таких не пускают, поэтому постре не хинтуют. Ну тогда удачи с костылями 1. хорошо , шта не пускают. какта спакойнее, знаете 2. кроме мат ожидания (в равновероятно модели) есть дисперсия, и есть даже мат ожидание для среднего отклонения (в том же равновероятном предположении) можно бы на границах (а не только по центру) оценить план, и если он очень плох хотя бы на одной -- им не пользоваться 3. что нужна статистика по нескольким [для того, чтобы честно выполнять такие вот па-де-де] -- это понятно (хотя бы для случая составных индексов по этим нескольким) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:02:38 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
йокарный бабай2. кроме мат ожидания (в равновероятно модели) есть дисперсия, и есть даже мат ожидание для среднего отклонения (в том же равновероятном предположении) можно бы на границах (а не только по центру) оценить план, и если он очень плох хотя бы на одной -- им не пользоваться вопрос только один - почему это еще не реализовано в оптимизаторе pg ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:13:20 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durak, тут тема такая есть -- можно "дёшево" оценить равновероятную модель для случая 2-х индексов. -- читаем по 1000 значений индекса (не поднимая записи) -- если равновероятность работает -- то пересечений (в вашем случае 1%-ного интервала) будет не менее чем 1% +- отклонение. что сюда затешутся мертвые значения инд-в -- немного испортит актуальность оценки, но не её саму. читать можно сплошняком (дёшево, и не надёжно), можно монтекарлой (если инд-ы в памяти -- тоже дёшево) -- тут науку можно накрутить, попанадёжнее и т.д. ах, да, это ж костыль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:17:46 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakйокарный бабай2. кроме мат ожидания (в равновероятно модели) есть дисперсия, и есть даже мат ожидание для среднего отклонения (в том же равновероятном предположении) можно бы на границах (а не только по центру) оценить план, и если он очень плох хотя бы на одной -- им не пользоваться вопрос только один - почему это еще не реализовано в оптимизаторе pg ???телепаты в отпуске но попробую: стьюдентам не дали такого задания ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:19:47 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durakйокарный бабай2. кроме мат ожидания (в равновероятно модели) есть дисперсия, и есть даже мат ожидание для среднего отклонения (в том же равновероятном предположении) можно бы на границах (а не только по центру) оценить план, и если он очень плох хотя бы на одной -- им не пользоваться вопрос только один - почему это еще не реализовано в оптимизаторе pg ??? проблема комбинаторного взрыва... на таблице из 20 колонок прийдется держать не 20 распределений а 380... а статистика и так тяжелая уже сейчас и на куче запросов база тратит в 10 раз больше времени на планирование запроса чем на его выполнение... Ну и вместо одномерных гистограмм для двух полей надо двумерную гистограмму придумывать которая будет еще на порядок тяжелее в работе и по месту в базе чем одномерные... Лечение может оказаться сильно дороже чем болезнь... так как типичная нагрузка на базу это выборки по primary key или по индексу 1-5 строк (то что на веб проектах надо), и замедлять их в несколько раз для того чтобы сложный OLAP быстрее стал желающих нет. Выход - создание подобных гистограмм по требованию DBA когда он конкретно указывает нужную ему пару значений (это уже почти хинты начинаются конечно) но в общем это мог бы быть выход. Кто то желает занятся написанием или проспонсировать разработку? :) (я нет... слишком редко надо). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:20:08 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
йокарный бабайIvan Durakпропущено... вопрос только один - почему это еще не реализовано в оптимизаторе pg ???телепаты в отпуске но попробую: стьюдентам не дали такого задания ? я не понял, это намек на то что PG пишут недоучки???? хм... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:24:40 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
Ivan Durak, аракал вообще индусы наяривают, и ничего - аракалоеды даже не плюются обтекают. типа хотя основная проблема аракала -- это не индусы, а индусы тут в кач-ве дежурного громоотвода не важно , кто пишет (пишут доучки, но, наверное, чаще факультативно, чем на контракте) важно, кто им задачи ставит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:45:42 |
|
||
|
Странное план ИМХО.
|
|||
|---|---|---|---|
|
#18+
йокарный бабайIvan Durak, аракал вообще индусы наяривают, и ничего - аракалоеды даже не плюются обтекают. типа хотя основная проблема аракала -- это не индусы, а индусы тут в кач-ве дежурного громоотвода не важно , кто пишет (пишут доучки, но, наверное, чаще факультативно, чем на контракте) важно, кто им задачи ставит давайте посмотрим на самую клевенаписаннуюбазувмире (это какая кстати по вашему?) как в ней с таким кейсом дело обстоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 19:44:39 |
|
||
|
|

start [/forum/topic.php?all=1&fid=53&tid=1998522]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 534ms |

| 0 / 0 |
