B+Tree c#
Ha még a google se tudja a jó választ akkor mi a *-om?
btw: B-Tree: http://en.wikipedia.org/wiki/B-tree
------------------------------------
Mért olyan nagy dolog ha a saját ICollection
Mért nincs ilyen a c# .NET környezetben?
class PersistedItem
{
public Item(int index)
{
Index = index;
}
public int Index { get;private set; }
public string OtherVariables { get; set; }
}
void main(object[] args)
{
var coll = new PersistedCollection
for (int i = 0; i< 100.000.000;i++)
{
coll.Add(new MyData(i) { OtherVariables = "Abcd"} );
}
coll.Persist("c:\temp\db.xyz.temp");
....
coll = LoadCollection("c:\temp\db.xyz.temp");
item = coll.First(item=>item.Index > 560.000);
}
Anélkül hogy akármilyen DB műveletet kellene végeznem? És közben az összes elem a ne legyen a memóriában lefoglalva...
Tell me why?
-------------------------------------------------------
Miért kellene adatbázisba tenni a "PersitedItem" elemeit és utánna meg "visszatölteni" amikor nincs semmi SQL a fenti lekérdezésben...
Van benne Collection
Van benne épp mint 100.000.000 elem
-***
és épp egyet keresek ki belőle.
//////
GYK - usual way- a szokásos megoldás:
var rd = new SqlConnection.CreateCommand("select top 1 OtherVariables from [pub].PersitedCollection where Id > 560.000");
var result = rd.Read();
... Instanciate and populate Persistedtem
var persistedItem = new PersistedItem()
var pi = typeof(PersistedItem).GetType().GetProperty("OtherVariables");
pi.SetValue(persistedItem, rd.ReadString("OtherVariables"));
....
/////
Q2: miért érdekes:
mert ha nem akarom a q-va PersitedItem-et adatbázisban tárolni...
mert:
nincs lehetőség telepíteni bármi runtime környezetet (aka: faszom fostalicska okostelefonok)
nincs elég memória lokálisan a teljes collection kezelésére
Miért nem tudod Ó mondd meg..
Miért nem?!
Csizmazia