MySQL
あれ?MySQLは「1クエリに1インデックスしか使えない」んじゃなかったっけ?と思ったけど、5系からはインデックス結合最適化ってゆーのが行われるらしい。 http://dev.mysql.com/doc/refman/5.1/ja/index-merge-optimization.html ただ問題なのが あるキーで…
カラム名を元にどのテーブルで使われているかなぁ〜ってのを探す。 use information_schema desc columns; select TABLE_NAME from columns where COLUMN_NAME = 'sitteru_column'; +-------------------+ | TABLE_NAME | +-------------------+ | sorewo_tu…
MySQLの話してる。 1クエリ1インデックスしか使われない 複合インデックス、普通のインデックスを兼ねることもある。 idx(a,b)はidx(a)を兼ねる。 わからないこと idx(a,b) は idx(a)を兼ねることは分かったけど、3つのカラムにまたがった場合はどうなる?id…
という話を聞いたので、一応検証しておいた。 mysql> explain select * from page where page_id in (1,2,3,4); +----+-------------+-------+-------+---------------+---------+---------+------+------+-------------+ | id | select_type | table | type…
こんなエラーが出るとき。safe-updatesが有効になってる。 ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY columnこのコマンド入れて、一時的に無効にする。 SET SQL_SAFE_UPDATES=0…
以下のサイトを参考にしてます。 いぞるで雑記annex mysqlのtimestamp型を使って更新日時と生成日時の両方を記録する http://isoldeblog.blog93.fc2.com/blog-entry-14.html
MySQL側でやらせちゃう場合は、以下でいける。 select DATE_FORMAT(created, '%Y年%m月%d日') as created -- 時間まで入れるとき -- DATE_FORMAT(created, '%Y年%m月%d日 %H時%i分%s秒') from hoge;
/etc/my.cnfを変更 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 # 5.1の場合 # default-character-set=utf8 文字コード確認コマンド 全体の文字コード確認 show variables like 'character_set%'; データベースの文字コード確認…
研修ってことで、いつも使っているphpMyAdminを使わずにMySQLで データベースの作成 テーブルの作成 select,insert,update,delete処理 テーブル削除 データベース削除 と、データベースの一生を追ってみた。 データベースの作成 mysql> create database test…
mysqldumpで一度ダンプし、mysqlに読み込ます方法で今までお引っ越ししていました。しかし、普通に生のDBファイルをコピーする方法もありました。 方法 mysql/data/データベース名 フォルダごと引っ越し先にコピーします 引っ越し元はサービスを止めておく必…
某iDCのNOCで働いている友人に聞いてみた 勝手に要約しているので、オレフィルターで話がずれているかも(笑) 会話 オレ「MySQLのマスター/スレーブ方法のレプリケーションって、負荷対策の目的ではなくて、可用性高める目的で使うのが普通みたいだな…。参照…
まだ、調べている途中なんだけど、出てきた用語をメモる. 一覧 参照系 更新系 パーティショニング 水平パーティショニング 垂直パーティショニング レプリケーション memcached tokyo tyrant 内容 参照系 select文など、DBを見るだけ.DBの人は「参照系」と…
件数が多くなると、データの取り出しが非常に遅くなる. テーブルにインデックスを付けることで、データの検索を爆速にする. 弱点として、データの更新はインデックスを更新する必要があるので遅くなる. やり方と速度検証は、後ほど…。 メモメモ indexを設…
方法は三つある mysqldumpを利用する方法 sqlでダンプしてファイルに落とし、読み込ます方法 よく使う、デフォはこれでいいかなー? MySQLデータベースディレクトリごとコピーする方法 mysqlディレクトリのdataフォルダをそのままコピーする方法 リストアす…
トリガーってやつですね やりたいこと MySQLで、レコードを追加するとき、フィールドに作成日を保存する. phpmyadminで作成する場合は 種別をTIMESTAMPにする デフォルト値をCURRENT_TIMESTAMPにする サンプルSQL文 CREATE TABLE `hogeTable`.`hogehoge` ( …