| 
 | 
| 
 
Обработка событий внутри функции pl/pgsql 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Здравствуйте! Ситуация такова. Пишу функцию на pl/pgsql, при вызове которой в таблицу заносится указанное количество записей. Функция, по задумке, должна возвратить затраченное на вставку записей время. Функция имеет вид: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. В результате после вставки функция всегда возвращает 00:00. Т.е. такое ощущение, что функция обрабатывает снятие временных меток до и после цикла в одно и то же время. Почему? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.03.2003, 15:07 | 
  
  
  
   | 
||
| 
 
Обработка событий внутри функции pl/pgsql 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  now() возвращает время начала транзакции используй timeofday() ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.03.2003, 14:23 | 
  
  
  
   | 
||
| 
 
Обработка событий внутри функции pl/pgsql 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Привет, Sad! Меня на phpclub забанили, так бы и там тебя спросил :) Попробую... Раз Sad Spirit посоветовал, значит, должно получиться :) Спасибо! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 18.03.2003, 18:02 | 
  
  
  
   | 
||
| 
 
Обработка событий внутри функции pl/pgsql 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Теперь моя функция выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Сразу хотелось бы спросить знатоков о приемлемости результатов моего мини-теста. Исходные данные: Структура таблицы test_ins. 3 поля: id - serial, strng - varchar(20), intgr - integer Postgres 7.2.1. ASP Linux 2.2.19-3 PIII-1Ghz, 256MB ОЗУ Каждый раз перед тестом выполняется TRUNCATE TABLE и VACUUM Запуск функции производился в psql (если это имеет значение) Результаты: Вставка 1 млн записей за 1 минуту 47 секунд. Это если создан индекс на поле id. При отсутствии индекса тот же объем записей вставляется за 1 минуту 24 секунды. Как мне интерпретировать полученные результаты? Хорошо, приемлемо, или плохо - есть где поработать. Если так, то где крутить? __________ Заранее благодарю. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.03.2003, 12:02 | 
  
  
  
   | 
||
| 
 
Обработка событий внутри функции pl/pgsql 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  > Как мне интерпретировать полученные результаты? Хорошо, приемлемо, или плохо - есть где поработать. Если так, то где крутить?  Боюсь что не понимаю вопроса. :) Это твоё приложение? Твоё. Откуда посетители знают, хороши результаты, приемлемы, или плохи? :) А вообще, ты что, в этом приложении только записи вставлять собираешься? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.03.2003, 19:09 | 
  
  
  
   | 
||
| 
 
Обработка событий внутри функции pl/pgsql 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Может, и правда не совсем доступно выразился :) Попробую объяснить. Не стоит рассматривать это как рабочую структуру, какое-то более-менее практическое приложение. Я лишь задался вопросом: насколько быстро выполняет мой сервер определенное конкретное действие (в данном случае - вставка)? Я знаю, что именно данное действие требует для своего выполнения больше времени. Может быть, у кого-то постгрес вставляет этот миллион за 10 секунд, а может и за 3 минуты - я не знаю. Просто интересно сравнить и взять хоть какой-нибудь ориентир. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 24.03.2003, 08:45 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=53&tid=2008240]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    48ms | 
get topic data:  | 
    9ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    39ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 230ms | 
| total: | 359ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.