2011-11-13 4 views
0

ツリーはヒープに割り当てられます。 したがって、ルートノードへのポインタが存在するはずです。C++からmySQL Bツリーへのアクセス

mySQLが主キーで識別され、Bツリーに格納されているインデックス付きの行を取得する場合、 はC++インターフェイス経由でBツリーにアクセスする方法ですか?

これは学習プロセスの一部ですが、私は何とか特定のテーブルのBツリーのルートポインタにアクセスできれば不思議です。

+2

私は基本的な質問があるべきだと思う:データベースシステムへのより低いレベルのプログラミングインターフェイスがテキストのSQLコマンドよりもありますか?私はそれを長い間疑問に思ってきました。 –

+2

"木はヒープに割り当てられています" - これまで誰が言ったのですか? – delnan

+0

索引がメモリにすべて入っていないか、外部プログラムで簡単に読み込み可能な形式であっても、ルートノードのアドレスをどのように推測したとしても、どのように見つけたでしょうか? – abcde123483

答えて

2

インデックスはディスクに格納され、必ずしもメモリに常駐しているわけではありません。それらがメモリ内にある場合は、アプリケーションのメモリではなく、mysqldのメモリになります。インデックスを熟読したい場合は、既存の(オープンソースの、もちろん)MySQLストレージエンジンコードの一部を使用して、理想的にはファイルを開いて開きます。

+1

あなたのデータを気にする人は、バックアップをとることを忘れないでください:) – Mat

1

あなたが言っていないextending MySQLで作業しない限り、あなたの質問は混乱しているようですので、あなたはMySQLを拡張していないと思います - あなたは別の質問をしました。

mysqlは、ほとんどの場合、サーバープログラムとして使用されます。あなたのシステム管理者はそれを設定していて、そのサーバとやり取りする機能を提供します(TCP/IPソケットや文書化されていないプロトコルを使用することが多い)。

単純なユーザまたは開発者は、MySQLサーバにリクエストを送信するだけで、それから応答が得られます。 MySQLとのやりとりの唯一の方法は、リクエストとレスポンスを使ったネットワーク接続であるため、mysqlプロセスのメモリ内のBツリーについては気にしません。

おそらく私はあなたの質問に誤解しました。

+0

あなたの質問はMySQLとは絶対に関係しません。プログラムの中でBツリーを実装したいと思うようです。 –

関連する問題