がるの健忘録 このページをアンテナに追加 RSSフィード

2011-10-12

[][]MySQLパーティションセッションテーブル管理:失敗編

とりあえずアバウトにmemo。


やりたいこと。

drop table session_test;
create table session_test (
  session_id varbinary(256) not null,
  use_id     varbinary(64) not null,
  data       blob,
  insert_date datetime,
  update_date datetime,
  PRIMARY KEY (session_id)
) ENGINE=InnoDB
  PARTITION BY RANGE ( hour(update_date) ) (
    PARTITION p00 VALUES less than(0),
    PARTITION p01 VALUES less than(1),
    PARTITION p02 VALUES less than(2),
    PARTITION p03 VALUES less than(3),
    .
    .
    .
    PARTITION p23 VALUES less than(23),
    PARTITION pmax VALUES LESS THAN MAXVALUE  
  );

んで、バッチで

DROP PARTITION p(二時間前);

ってやりたいげ。


で…現実。

まずそもそもとして

「A PRIMARY KEY must include all columns in the table's partitioning function」

って怒られる orz

だって「レンジの値はど〜したってPKぢゃねぇもん;;」

update_dateが15:59:00から16:00:00にupdateされた時って、ちゃんと動くのかしらん?

いやまぁ「PKだからうごかねぇよ!」って前提条件は置いておくとして。

# 一説によると*1これはちゃんと対応してるぽ…それだけになおのこと「PK縛り」が残念にすぎる orz


ちなみに、本気でやると、パーティションの設定部分が多分

    PARTITION p00 VALUES IN (0,3,6, 9,12,15,18,21),
    PARTITION p01 VALUES IN (1,4,7,10,13,16,19,22),
    PARTITION p02 VALUES IN (2,5,8,11,14,17,20,23),
    PARTITION pmax VALUES LESS THAN MAXVALUE  

ってなる。「今必要なパーティション」「念のために寝かせておくパーティション」「dropするパーティション」があれば十分なはずだしね。


さて…こんな風に使える日はくるのか!?

2009-06-22

[][]文字コード関連

とりあえずアバウトにmemo。

あとで整理…予定(苦笑


確認関連

show variables like 'character_set%';

show variables like "char%";

status


show create database データベース名 \G

show create table テーブル名 \G


設定関連

[client]

default-character-set=utf8

[mysqld]

default-character-set = utf8

skip-character-set-client-handshake

character-set-server = utf8

collation-server = utf8_general_ci

init-connect = SET NAMES utf8


or


set names utf8;


あんど

create database wordpress default character set utf8;


以下余談

…おいちゃん的にはlatin1でいいというかむしろ「DBには文字コードなんぞ意識して欲しくない」と思うんですよねぇ正直。

sjisはまぁ論外として(5c問題とかね)、EUCには、1文字検索とかで「なんでこれひっかかるの?」があったのですが。原理わかってればある程度わかるし。で…utf-8にはンな問題ないし。

だとしたら。素直に全部「バイナリデータとして無処理で in/out 」したいんですけどねぇ。

…こういう感覚って稀なのかしらん?

2008-02-21

[][]DNSの逆引きでエラー

via http://www.res-system.com/weblog/item/582

んと。キーワードとしては「MySQLで時々妙に重くなる」とか「プロセス数がmaxいっちゃってconnect出来ない」とかそんな事象。

mysqlコンソールでログインしてshow processlistコマンドとかで見ると、unauthenticated user っちゅ〜プロセスがたまってることがあるです。

なんでもこの子。「MySQLのDNS逆引き」のタイミングでおきてるとか。

いいからDBMSがresolveとかしなくて。


とりあえず。起動optionに --skip-name-resolve を入れるか、またはmy.cnfあたりの設定ファイルに

[mysqld]

skip-name-resolve

の設定を入れ込んでおきませう。


っつか…ねぇねぇMySQLって「余計なことしない代わりに軽いDBMS」ぢゃなかったの?

最近、失望する内容がわりと連打できてるのですが………;;

2008-01-17

[][][]え?

http://itpro.nikkeibp.co.jp/article/NEWS/20080117/291269/

SunがMySQLを10億ドルで買収,「イルカの飛翔を手助け」

米Sun Microsystemsは1月16日(米国時間),オープンソース・データベースの大手であるスウェーデンMySQLを10億ドルで買収すると発表した。Sunの社長兼CEO(最高経営責任者)であるJonathan Schwartz氏は,MySQLのマスコットにちなんで「イルカの飛翔を手助けする」と述べ,オープンソースへの支援を強化し続けることをアピールした。

えと…吉報なんだか凶報なんだかが全然判断つかにゃい orz