- Unsigned で、4G(40億)
mySQLでの正規表現の利用
- 正規表現は where `name` REGEXP 'a*' のように使用する
mySQLのvarchar、textの比較について
- インデックスを張る場合255文字以内のキー長を指定する必要がある
他のDBのテーブルを参照するには
- 同じmySQLサーバ内なら、select * from db_name.table_nameでOK
他のDBのテーブルとJOINできるか
- 下記のように普通にJOINできる
SELECT * FROM `mytable` join `dbname`.`atable` A on `mytable`.`id`=A.`id`
synonymはあるか
- 無い。
viewを使えば同様のことができる。オーバーヘッドが問題にならないか注意して使う
日付時刻を丸める関数(TRUNCなど)はあるか
- 日付丸め専用の関数はない。
- 文字列にフォーマットして丸める例はよく見かける
- 計算式で丸める例
時間:DATE(`date`)+INTERVAL HOUR(`date`) HOUR
日: DATE(`date`)
週: DATE(`date`)-INTERVAL DAYOFWEEK(`date`)-1 DAY
月: DATE(`date`)-INTERVAL DAYOFMONTH(`date`)-1 DAY
PostgreSqlにある「関数(式)インデックス」はあるか
- 無い。→インデックスを使いたい式を展開した列が必要
タイムゾーンはDBもしくは接続毎に再指定可能か
- 可能
mysql> set time_zone = '-7:00';
Query OK, 0 rows affected (0.00 sec)
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-05-05 22:21:37 |
+---------------------+
1 row in set (0.00 sec)
mysql> set time_zone='+9:00' ;
Query OK, 0 rows affected (0.00 sec)
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-05-06 14:22:01 |
+---------------------+
1 row in set (0.00 sec)