🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #82423

Re: FIREBIRD - sortowanie pola VARCHAR wg liczb w nim zawartych

#82423
From: Leszek
Date: Fri, 28 Nov 2014 07:32
26 lines
2513 bytes
> Dodać nowe pole typu int i zaktualizować je w triggerze, np. za pomocą 
> tej procedury i po nim sortować.
> A jak założysz indeks na tym polu, to jeszcze lepiej.
> 
> To co zrobiłeś, działa - ale ciekawe jak długo będzie szybko ;-)
> Chociaż narzut nie jest aż tak duży - musisz potestować...
> 
> 
> -- 
> wloochacz

Zrobiłem tak, jak napisałeś:
1. Dodałem nowe pole LP(INTEGER).
2. Założyłem indeks na tym polu.
3. Zdefiniowałem trigger dla tabeli PRG:
  CREATE TRIGGER PRG_BI FOR PRG
  ACTIVE BEFORE INSERT OR UPDATE
  POSITION 1
  AS
  BEGIN
    execute procedure DAJLICZBE NEW.NR returning_values NEW.LP;
  END;
4. Zrobiłem zapytanie: select * from PRG order by LP.
Wykonało się około 20 razy (!) szybciej niż zapytanie, które wcześniej wymyśliłem...
DZIĘKUJĘ CI BARDZO ZA TRAFNĄ ODPOWIEDŹ.
Trigger, który korzysta z procedury napisałem po raz pierwszy w życiu, więc jeśli można było go napisać mądrzej, to bardzo proszę jeszcze o sugestie...
Technical Details
Message-ID: <1c569e65-a537-4b14-affd-969e12ea61a1@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!bcyclone03.am1.xlned.com!bcyclone03.am1.xlned.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!209.85.213.216.MISMATCH!h15no9099767igd.0!news-out.google.com!m4ni576qag.1!nntp.google.com!w8no2926847qac.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <957a2b2f-bf50-47f6-aba1-55cb5371b656@googlegroups.com> <54772d3f$0$2662$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
X-Received: by 10.66.65.138 with SMTP id x10mr39103454pas.6.1417159959014;        Thu, 27 Nov 2014 23:32:39 -0800 (PST)
X-Received: by 10.140.19.225 with SMTP id 88mr1113qgh.19.1417159958960; Thu, 27 Nov 2014 23:32:38 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!bcyclone03.am1.xlned.com!bcyclone03.am1.xlned.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!209.85.213.216.MISMATCH!h15no9099767igd.0!news-out.google.com!m4ni576qag.1!nntp.google.com!w8no2926847qac.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.delphi.bazy-danych
Date: Thu, 27 Nov 2014 23:32:38 -0800 (PST)
In-Reply-To: <54772d3f$0$2662$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=62.87.184.238; posting-account=RFl58AoAAAA84Pjbomts7IoRoXJVfNhL
NNTP-Posting-Host: 62.87.184.238
References: <957a2b2f-bf50-47f6-aba1-55cb5371b656@googlegroups.com> <54772d3f$0$2662$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1c569e65-a537-4b14-affd-969e12ea61a1@googlegroups.com>
Subject: Re: FIREBIRD - sortowanie pola VARCHAR wg liczb w nim zawartych
From: Leszek <L.Czudek@gmail.com>
Injection-Date: Fri, 28 Nov 2014 07:32:38 +0000
X-Received-Bytes: 2388
X-Received-Body-CRC: 3759636569
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit