[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PostgreSQL. Полнотекстовый поиск. Информация.
sergeiss
Рекомендую к прочтению. Эта инфа для тех, кто не знает, но хочет знать, что такое за зверь с именем "PostgreSQL" smile.gif (kirik, когда статью нашел - про тебя вспомнил wink.gif , про недавнее общение в одной из тем как раз насчет PostgreSQL).

Вот сюда тыц: http://www.sai.msu.su/~megera/postgres/tal...tro.html#ftssql



Спустя 7 часов, 18 секунд (14.04.2009 - 22:17) kirik написал(а):
sergeiss, спасибо большое! Все так понятно расписано! smile.gif

Я тут поставил postgresql 8.3 сервер, и phppgadmin 4.2 для управления. Он нормальный, или есть лучше варианты?
Кстати долго не мог установить пароль для дефолтного юзера.. smile.gif

Спустя 22 минуты, 5 секунд (14.04.2009 - 22:39) sergeiss написал(а):
Я работаю с pgAdmin 3 (версия 1.8.2), выпущенной год тому назад (http://www.pgadmin.org). Есть пара мелких "замечаний", но жаловаться грех smile.gif
Работает нормально всё, интуитивно понятный интерфейс.

Кстати. Упражнялся тут сегодня со встроенными функциями... Цель была сделать триггеры.
Взял реальные запросы из скриптов к реальной БД, которые выполняются за 30-50 секунд (много данных и несколько вложенностей в запросе). Текст запроса формируется в виде строки в скрипте ПХП. Загнал этот запрос с теми же параметрами в функцию внутри БД... И теперь получаю данные через 3-5 секунд ohmy.gif ohmy.gif ohmy.gif Я был в ауте, и много раз перепроверял.
Теперь ближайшие несколько дней буду "чисто конкретно" оптимизировать работу с БД. И будет всё у меня просто летать smile.gif
Да и триггеры сделаю, чтобы кое-что убрать из скриптов в БД, да плюс к тому новый функционал получить.

PS. Я сейчас глянул - там версия 1.8.4 доступна. Пошел качать smile.gif

Спустя 39 минут, 26 секунд (14.04.2009 - 23:18) kirik написал(а):
Поставил pgAdmin 1.8.4 - интересная прога.

sergeiss, у тебя случаем не было проблемы, когда phpPgAdmin (который броузерный) не хочет логинить с тем же логином / паролем, которые я использую при коннекте через pgAdmin?

Цитата (sergeiss @ 14.04.2009 - 14:39)
выполняются за 30-50 секунд...И теперь получаю данные через 3-5 секунд

blink.gif ниче себе оптимизация!

Спустя 3 минуты, 59 секунд (14.04.2009 - 23:22) waldicom написал(а):
Цитата (sergeiss @ 14.04.2009 - 20:39)
Взял реальные запросы из скриптов к реальной БД, которые выполняются за 30-50 секунд (много данных и несколько вложенностей в запросе). Текст запроса формируется в виде строки в скрипте ПХП. Загнал этот запрос с теми же параметрами в функцию внутри БД... И теперь получаю данные через 3-5 секунд ohmy.gif ohmy.gif ohmy.gif Я был в ауте, и много раз перепроверял.

Интересно...
Если такая оптимизация на stored procedure, то хочу попробовать на mysql.
Хотя не понятно, откуда ей там взяться. На компиляцию и оптимизацию запроса уходит гораздо меньше времени, чем на выполнение...Странно...

Можешь пример запроса дать? Или там данных реально много и поэтому запрос так долго выполняется?

Спустя 7 минут, 51 секунда (14.04.2009 - 23:30) kirik написал(а):
Цитата (kirik @ 14.04.2009 - 15:18)
sergeiss, у тебя случаем не было проблемы, когда phpPgAdmin (который броузерный) не хочет логинить с тем же логином / паролем, которые я использую при коннекте через pgAdmin?

Все решил. В конфиге phpPgAdmin нужно поставить $conf['extra_login_security'] = false;.

Спустя 17 минут, 6 секунд (14.04.2009 - 23:47) kirik написал(а):
Круто! phpPgAdmin намного удобнее чем phpMyAdmin!

Похоже что в ПГ намного больше типов данных чем в мускуле, но нет привычных мускульных атрибутов (с первого взгляда не видать).

sergeiss, вот например в мускуле я могу выставить для типа INT атрибут unsigned, и тогда в это поле нельзя будет вставить отрицательное значение, и диапазон значений станет не от -2147483648 до 2147483647, а от 0 до 4294967295. В ПГ это решается установкой типа поля serial? Если так, то оно получается всего до 2147483647, а для хранения IP адресов нужно больше, а bigserial (до 9223372036854775807) использовать не очень оправданно. Как в таком случае поступить?

Спустя 34 минуты, 35 секунд (15.04.2009 - 00:22) sergeiss написал(а):
kirik - serial внутри себя имеет максимальную величину 9223372036854775807, вне зависимости от твоего желания smile.gif Если уж ты задал этот тип, то придется мириться (или радоваться?).
Кстати, можно "ресетить" величину этого serial, если очень надо.

Насчет phpPgAdmin сказать ничего не могу, никогда не пользовался smile.gif Мне более чем достаточно pgAdmin3. Который, кстати, содержит внутри себя очень хороший хэлп по Постгре.

waldicom - запрос вот, если интересно smile.gif

SQL
select *
from ( select *,
case sum401 when 0 then 100
else (sum401-sum402)*100./sum401
end
as ho_errors_perc

from ( select lac, cellid, lac_target, cellid_target, sum(c400) as sum400, sum(c401) as sum401, sum(c402) as sum402
from handovers where date_>='2009-01-01' and date_<='2009-01-22' and lac>=4300 and lac<=4319
group by lac, cellid, lac_target, cellid_target
) as ho_err

) as ho_err2

where ho_errors_perc >= 0 and ho_errors_perc <= 100 and sum400 >= 0 and sum400 <= 1000000

order by ho_errors_perc desc, sum400 desc, sum401 desc, sum402 desc


Индексы есть все, что требуются.

Всего в настоящий момент в этой таблице чуть больше 44 млн. записей, к запросу имеют отношение (обрабатываются) около 60 тыс. записей, на выходе около 10 тыс. записей.

Я сейчас еще раз погонял запрос... 30-50 и 3-5 секунд - это я погорячился немного smile.gif Немного попутал цифры от разных запросов.
Но всё равно с 16 секунд (при запуске "напрямую") до 4 секунд (при запуске из функции) уменьшается время.
С другими параметрами другое время, но раза в 3-4 быстрее получается.

Спустя 3 минуты, 59 секунд (15.04.2009 - 00:26) waldicom написал(а):
Да, запрос мощный... 2 вложенных select'а - это сильно...
А если попытаться разбить все это на несколько запросов, быстрее не будет? (хотя наверняка пытался?)


пысы. 44 млн записей - нифигасе.

Спустя 7 минут, 42 секунды (15.04.2009 - 00:34) sergeiss написал(а):
waldicom - любые мои попытки уменьшить "вложенность" селектов привели только к головной боли smile.gif, но не уменьшили время обработки данных.
Поэтому я оставил запрос в таком виде, т.к. он достаточно наглядно показывает, что я тут делаю. И, к тому же, это далеко не единственный запрос (есть и более "многоэтажные"). Поэтому наглядность запросов для меня тоже важна.

Спустя 4 минуты, 23 секунды (15.04.2009 - 00:38) kirik написал(а):
Цитата (sergeiss @ 14.04.2009 - 16:22)
Насчет phpPgAdmin сказать ничего не могу, никогда не пользовался smile.gif Мне более чем достаточно pgAdmin3. Который, кстати, содержит внутри себя очень хороший хэлп по Постгре.

Согласен smile.gif Просто удобнее когда ты не зависишь от софта, например чтобы зайти с другого компа нужно ставить pgAdmin3. Но это уже мелочи! smile.gif
Пока только разбираюсь, но мне уже все больше и больше начинает нравиться ПГ smile.gif Спасибо, sergeiss!

Спустя 10 минут, 43 секунды (15.04.2009 - 00:49) sergeiss написал(а):
Цитата (kirik @ 15.04.2009 - 00:38)
Просто удобнее когда ты не зависишь от софта, например чтобы зайти с другого компа нужно ставить pgAdmin3.

Ты знаешь... Может быть это и так.
Но у меня лично такой проблемы никогда не возникало. Так как все основные разработки я веду на ноуте, на котором установлен pgAdmin (и локальная версия сайта, включаю локальную БД). Проблем нет.
Сервер, на котором стоит вся основная приблуда - тоже Винда, там установлен тот же pgAdmin. Я туда захожу через Remote Admin, когда в офисе, и спокойно делаю всё, что надо (либо с ноутбука, либо с другого, основного своего компа). А когда не в офисе, то доступа к офисной локалке у меня нету smile.gif Нету доступа - нету проблем biggrin.gif

Спустя 2 минуты, 32 секунды (15.04.2009 - 00:51) kirik написал(а):
Цитата (sergeiss @ 14.04.2009 - 16:49)
Нету доступа - нету проблем

biggrin.gif


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.