Need multi field index. lazarus / 16-Databases ---------------------------------------------------------------------- arneolav · 2013-12-06 19:16 Lazarus 1.2RC1, FCP 2.6.2, Win Xp I'm moving a language translating system from Delphi to Lazarus. The system contains mostly of a main table, (dictionary db) (In Delphi, NEXUS Db): 160.000 records. Lenght 4 - 500 bytes. 15 indexes. A comma separated list is dumped from Delphi and converted like this:       Strings.LoadFromFile(AInputFileName);       Strings.Text := UTF8Encode(Strings.Text);       Strings.SaveToFile(AOutputFileName);  Test: Loded into "Lazarus, TDbf and FireBird. Records are displayed in a Lazarus DbGrid. Event "OnTitleClick" is used on column sort. Tdbf  Level 4, seems very fast on load, fast column sort, insert and find of records. But in the "real translating process"; Indexes of 2 fields is needed and it seems not supported by Tdbf  Level 4. I'v tested same in embedded FireBird. Firebird seems slow on loading with a few indexes. Very slow on all indexes. Column sort is very slow. (Seems indexes is not in use?) It seems imposible to load into firebird with all indexes, "out og heap... out of memory..." But according to task manager, lots of memory  is avail. On descending index, column sort allways ends in Listindex out of bounds.... In http://wiki.freepascal.org/Lazarus_Database_Overview; "Firebird is very well supported out of the box by FPC/Lazarus. " Is this Correct? Are there any other relevant/lightweight Db supported by Lazarus with multi field index? ---------------------------------------------------------------------- otorres · 2013-12-06 19:51 the problem not is the database or controls, you problem is the way to made it, i think, if you need change the order of the resultset, the best way is use TMemDataset o TBuffDataset. ---------------------------------------------------------------------- arneolav · 2013-12-06 20:16 Well, that's a "kind of unwanted workaround"... Tdbf  Level 4 behave very well except for the lack of multifield index... This was no problem in NexusDb ... We are thinking of something like "ShadeIndexfield  = (field1 + field2...) But then we need one more field and  index ...