Cur table/ja

From MediaWiki.org

Jump to: navigation, search
Manual:Contents/ja MediaWiki データベース レイアウト Cur table/ja



MediaWiki version: 1.4

Cur テーブル は MediaWiki が現在の版のデータを保存するテーブルです。

"DESCRIBE cur" の結果は以下のようになります :

Field Type Null Key Default Extra
cur_id int(8) unsigned   PRI   auto_increment
cur_namespace tinyint(2) unsigned   MUL 0  
cur_title varchar(255) binary   MUL    
cur_text mediumtext        
cur_comment tinyblob        
cur_user int(5) unsigned   MUL 0  
cur_user_text varchar(255) binary   MUL    
cur_timestamp varchar(14) binary   MUL    
cur_restrictions tinyblob        
cur_counter bigint(20) unsigned     0  
cur_is_redirect tinyint(1) unsigned     0  
cur_minor_edit tinyint(1) unsigned     0  
cur_is_new tinyint(1) unsigned     0  
cur_random double unsigned   MUL 0  
inverse_timestamp varchar(14) binary        
cur_touched varchar(14) binary        

現在ある特定のページにアクセスするためには、cur_id を指定するか、またはcur_namespacecur_title の組み合わせによって検索します。cur_title は通常項目名となるものですが、ここで留意すべきは cur_namespace が異なれば、同一の名前のものが複数存在できることです。たとえば、あれという項目とTalk:あれという項目は、どちらも cur_title があれとなります。がTalk:あれは cur_namespace が 1 になっていることになります。(この場合 namespace 1 が Talk: ということになります。)namespace の名前はそれぞれの言語定義ファイル LanguageXX.php で決定されます。

Cur テーブルにある情報は、該当する項目が最後に変更された状態を保存しています。もし、新規で作成された項目であれば cur_is_new にフラグがたちます。

  • cur_text はページの内容そのもののテキストを保存します。
  • cur_comment は変更の際、要約欄に付加されたコメントです。
  • cur_user は変更した利用者 ID を持ち、IP ユーザの場合 0 となります。
  • cur_user_text は利用者の名前または IP アドレスが入ります。
  • cur_timestamp は変更された日時です。
  • cur_minor_edit は保存時に M を付けたかどうかの情報を保存します。

以上が通常のページ内容に関する情報で、残りの部分は記事の中身とは関係のない情報を保持しています。

  • cur_restrictions はどのレベルの利用者が記事を変更できるのかを記録します。現在のウィキペディアでは保護されたページ以外は全て空になっています。
  • cur_counter はページが閲覧された回数を記録します。この操作はデータベースに大きな負荷をかけるため、wikipediaでは停止されています。
  • cur_is_redirect は、ページがリダイレクトである場合の処理を高速化するためのフラグです。
  • cur_random は "random page" を行なう処理の高速化のために使用します。
  • inverse_timestamp は MySQL3.1 で使用する場合に cur_timestamp の値を反転して保存するもので、MySQL 4.x では必要なく、今後取り除かれるでしょう。
  • cur_touched はキャッシュのためのフラグです。キャッシュに読み込まれた後変更されたかどうかを保存しています。