Re: Performance problems testing with Spamassassin 3.1.0
От | Matthew Schumacher |
---|---|
Тема | Re: Performance problems testing with Spamassassin 3.1.0 |
Дата | |
Msg-id | 42F298B5.5010405@aptalaska.net обсуждение исходный текст |
Ответ на | Re: Performance problems testing with Spamassassin 3.1.0 (John A Meinel <john@arbash-meinel.com>) |
Ответы |
Re: Performance problems testing with Spamassassin 3.1.0
|
Список | pgsql-performance |
John A Meinel wrote: > Surely this isn't what you have. You have *no* loop here, and you have > stuff like: > AND > (bayes_token_tmp) NOT IN (SELECT token FROM bayes_token); > > I'm guessing this isn't your last version of the function. > > As far as putting the CREATE TEMP TABLE inside the function, I think the > problem is that the first time it runs, it compiles the function, and > when it gets to the UPDATE/INSERT with the temporary table name, at > compile time it hard-codes that table id. > > I tried getting around it by using "EXECUTE" which worked, but it made > the function horribly slow. So I don't recommend it. > > Anyway, if you want us to evaluate it, you really need to send us the > real final function. > > John > =:-> It is the final function. It doesn't need a loop because of the bayes_token_tmp function I added. The array is passed to it and it returns a record set so I can work off of it like it's a table. So the function works the same way it before, but instead of using SELECT intoken from TEMPTABLE, you use SELECT bayes_token_tmp from bayes_token_tmp(intokenary). I think this is more efficient than the create table overhead, especially because the incoming record set won't be to big. Thanks, schu
В списке pgsql-performance по дате отправления: