ツリーはヒープに割り当てられます。 したがって、ルートノードへのポインタが存在するはずです。C++からmySQL Bツリーへのアクセス
mySQLが主キーで識別され、Bツリーに格納されているインデックス付きの行を取得する場合、 はC++インターフェイス経由でBツリーにアクセスする方法ですか?
これは学習プロセスの一部ですが、私は何とか特定のテーブルのBツリーのルートポインタにアクセスできれば不思議です。
ツリーはヒープに割り当てられます。 したがって、ルートノードへのポインタが存在するはずです。C++からmySQL Bツリーへのアクセス
mySQLが主キーで識別され、Bツリーに格納されているインデックス付きの行を取得する場合、 はC++インターフェイス経由でBツリーにアクセスする方法ですか?
これは学習プロセスの一部ですが、私は何とか特定のテーブルのBツリーのルートポインタにアクセスできれば不思議です。
インデックスはディスクに格納され、必ずしもメモリに常駐しているわけではありません。それらがメモリ内にある場合は、アプリケーションのメモリではなく、mysqld
のメモリになります。インデックスを熟読したい場合は、既存の(オープンソースの、もちろん)MySQLストレージエンジンコードの一部を使用して、理想的にはファイルを開いて開きます。
あなたのデータを気にする人は、バックアップをとることを忘れないでください:) – Mat
あなたが言っていないextending MySQLで作業しない限り、あなたの質問は混乱しているようですので、あなたはMySQLを拡張していないと思います - あなたは別の質問をしました。
mysqlは、ほとんどの場合、サーバープログラムとして使用されます。あなたのシステム管理者はそれを設定していて、そのサーバとやり取りする機能を提供します(TCP/IPソケットや文書化されていないプロトコルを使用することが多い)。
単純なユーザまたは開発者は、MySQLサーバにリクエストを送信するだけで、それから応答が得られます。 MySQLとのやりとりの唯一の方法は、リクエストとレスポンスを使ったネットワーク接続であるため、mysqlプロセスのメモリ内のBツリーについては気にしません。
おそらく私はあなたの質問に誤解しました。
あなたの質問はMySQLとは絶対に関係しません。プログラムの中でBツリーを実装したいと思うようです。 –
私は基本的な質問があるべきだと思う:データベースシステムへのより低いレベルのプログラミングインターフェイスがテキストのSQLコマンドよりもありますか?私はそれを長い間疑問に思ってきました。 –
"木はヒープに割り当てられています" - これまで誰が言ったのですか? – delnan
索引がメモリにすべて入っていないか、外部プログラムで簡単に読み込み可能な形式であっても、ルートノードのアドレスをどのように推測したとしても、どのように見つけたでしょうか? – abcde123483