15. januar 2001 - 14:34Der er
5 kommentarer og 2 løsninger
Interbase på win med 10000+ entries
ER der nogen, der har erfaring med at køre interbase på windows (alle versioner fra 95 til 2000), med 10.000+ entries. Jeg tænker her på performance, ved en ord-søgning. Her taler vi ikke om noget på hobbyplan, men noget der virkelig skal \"kunne noget\".
Jeg har lige opgraderet en applikation fra paradox til interbase 6.0 og jeg må indrømme at jeg ikke kan mærke den helt store forskel i hastighed. Basen er på 85 mb+ fordelt på 16 tabeller med mere end 127.000 records tilsammen, en af tabellerne indeholder over 81.000 records.
Dog skal det siges at paradox er lyn hurtig til SQL.
Søgning med \'select *\' fra den største tabel tager på pIII 733, win98, ibm gxp75 ide hd, 128 mb ram ca 6 sek. men begrænses søgnigen med en where til at give 75 resultater er tiden ca. 0.05 sek. 1 record er ca 100 bytes fordelt på 14 kolonner. Søgning i en anden tabel med lidt mere \'kød\' på (1 kb/record, 15000 records) kan gøres på ca 1/4 af tiderne for den på 81.000+
Efter min erfaring med interbase så er den meget hurtig men jeg har ikke rigtigt nogen erfaring med andre databaser så....
Det er jo svært at sammenligne tider for søgninger i SQL da de klart afhænger af SQL\'ens opbygning og brug af indexer så de fordele jeg har fået fra interbase til forskel fra paradox er multitier mulighed og stabilitet. Interbase klare sig klart bedre med 3+ samtidige brugere end paradox, det er jo her styrken ligger.
Er der ikke noget der hedder bedre sendt en aldrig?
hk@ingenioer> Interbase kan fint \"klare trykket\", og antallet af poster lyder således ikke skræmmende. EEN ting du skal være klar over med Interbase er at den ikke (på database-server niveau) understøtter \"bi-direktionelle\" cursors. Det vil sige at du kun kan bladre frem (og ikke tilbage) i de data du har i din cursor. Den bi-direktionelle funktion implementeres således af BDE eller IBX (når vi taler Delphi). Dette virker fint, men du skal bare være klar over at ALLE dine data i så fald vil blive læst ind i PCens hukommelse (om så ikke før så når den \"bladre til enden\"). Dette er kun et problem hvis du laver en \"select * from tabel\" da hele tabellen således læses over på PCen. Hvis du derimod begrænser din forespørgsel (med \"where\") så brude det ikke være et problem da du sjældent har brug for alle dine data.
Hvis du bruger IBX (Interbase Express), så kan du ved hjælp af \"Bufferchunks\" bestemme i hvor store \"bidder\" data allokeres. Ved at hæve denne størrelse skal der ikke så ofte allokeres hukommelse og du kan derfor hæve performance (dog på bekostninger af mere \"spild plads\"). Når Delphi6 ser dagens lys så skulle der medfølge en ny version af IBX der giver dig endnu mere kontrol over hvor meget og hvordan hukommelse allokeres til disse buffer-data.
nazag> Når vil taler en stand-alone løsning (Een PC) så vil der være tilfælde hvor du faktisk kan opnå større hastigheder med Paradox. Men i det øjeblik der kommer flere PCere så er der en VÆSENTLIG forbedring ved brug af Interbase. En anden vigtig faktor er også at InterBase er væsentlig mere stabil.
Lad mig lige bidrage med nogle \"performance målinger\".
En af mine venner havde udviklet et system der blev brugt til brevvejning i et netværks miljø (4-5 PCer hver med 4 tilknyttede vægte). Problemet var at dette system med en Paradox database kunne være op til 2-3 sekunder om at gemme en enkelt record. Jeg prøvede at lave en InterBase baseret testopstilling hvor 4 maskiner hver stod og gemte 10.000 poster lige så hurtigt som de kunne. I denne opstilling opnåede jeg at hver maskine kunne gemme 60-80 poster pr. sekunde (altså 12.5 - 16.6 millisekunde pr. rekort), hvilket i alt svarre til mellem 240 og 320 poster der blev tilføjet i database hvert sekund.
På et tidspunkt lavede jeg et opslag i databasen (da på det tidspunkt var på ca. 160.000 poster). Opslaget resulterede it 552 poster fundet og der var ikke oprettet et index til formålet. Dette opslag tog kun 4.5 sekunder.
Håber at det er hurtigt nok !?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.