Re: [問題] 關於資料庫問題
※ 引述《wind00962 (Light)》之銘言:
: 最近學校專題上有幾個問題
: 用shared memory做出資料庫
現在好像有些資料庫就是用shared memory的吧
: 例如有筆資料結構
: 有name age tel address
: 我輸入name就會去shared memory把全部結構資料讀出來
: 請問我利用key號一個一個去尋找name,假如資料key號是100號,那我就要從1開始找到100
: 才會找到資料,這方法是對的嗎?
你需要一個index檔案來紀錄每筆的offset
在程式開始的時候讀index檔進你的資料結構
拿到key就可以去資料結構裡找到對應的offset
然後指標就可以直接加上這個offset來讀資料
: 那我要如何獲取資料共有幾筆呢,要不然我無法知道要搜尋幾筆資料
看你要不要用另外一個meta file用來記這種資訊
也是一樣程式開始的時候load進來
: 那假如我刪除key 3號跟5號的資料,那我如何新增兩筆資料庫資料可以從3號跟5號開始
: 新增? 而不是再從資料最後一筆加1開始新增
: 謝謝
刪掉就記個deleted在索引檔裡
一個作法是 你可以在索引檔裡迴圈找flag deleted的資料 抓他的編號來用就好
不過資料太多會有點慢 所以可以考慮直接記被刪的編號放到meta file中
--
http://blog.carlcarl.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.242.16.136
討論串 (同標題文章)