0

誰かがxmlデータをMySQLに保存して読み込む方法の例を提供できますか? 私はphpを使用しており、このドキュメントを読みました: http://dev.mysql.com/doc/refman/5.6/en/xml-functions.html

でもなかなか思うように結果が出ない。

どうもありがとうございました。(xml に保存されているデータへの呼び出しが多く、より高速な関数が必要なため、これを使用しています。)

[編集] リクエストに応じて:

現在、各ファイルに 25 ~ 50 個の要素を含む 30,000 個の .xml ファイルがあります。さまざまなファイルの値を 1 秒間に何百回も要求します。ここで実行される I/O アクションに大きなボトルネックがあることがわかりました。

.xml ファイルのデータをデータベースに格納すると、値へのアクセスがはるかに高速になると思います。

これについてどうすればよいかについて、助け/アドバイスを求めています。

4

1 に答える 1

0

データベースに格納されたデータへのアクセスは、ディスク上のデータへのアクセスよりも高速ではありません。データベースの速度は、データをインデックス化できることによって提供されます。XML の内容は (私が推測するに) インデックス化されていません。

したがって、XML からキー フィールドを取り出せない限り、役に立ちません。

ただし、mysqli 接続と準備済みステートメントを使用している場合は、(それが良い考えかどうかではなく) 実際の質問への回答として:

if ($stmt = $mysqli->prepare("INSERT INTO MY_DATA_TABLE (Id, Data) VALUES(?,?)")) 
{   
    $stmt->bind_param('ib', $id, $data);
    for($i = 0; $i < $numfiles; $i++)
    {
        $id= $row;
        $data=  readfile($id);
        $stmt->execute();
    }
 }

そんな感じ?(試していません)。

編集:

しかし、あなたの答えから、XMLファイルから要素を読みたいだけなら、おそらく単純なXMLを見る必要があります: http://php.net/manual/en/book.simplexml.php

于 2012-06-14T13:18:42.340 に答える