MySQLでランダムに20行をとるためには以下のようにやればいい。 SELECT * FROM table_name ORDER BY RAND() LIMIT 0, 20; 簡単に取得できるのはいいんだけど、行数が増えると劇的に遅い。どれくらい違うかって言うと10万行のデータベースでも↓ぐらい違う。 表示中の列 0 - 19 (20 合計, クエリの実行時間 0.0070 秒) SELECT * FROM table_name LIMIT 0 , 20 表示中の列 0 - 19 (20 合計, クエリの実行時間 1.1884 秒) SELECT * FROM table_name ORDER BY RAND() LIMIT 0, 20; なんでこんなに時間がかかるのかと調べてみると、どうも*を使うから遅いらしい。ということで、列名に主キーを指定して試してみる。 表示中の列 0 - 19
これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編) こんにちは、インフラ担当新人の nob です。 サーバー監視ツールで MySQL を監視しているのにデータが多すぎて活用していない。という方はいませんか?その豊富なデータをパフォーマンス・チューニングに活用しない手はありません。今回はサーバー監視ツールのグラフを読み解いた実戦経験を元に、「これだけ見れば大丈夫」というツボをまとめてみました。 これだけ見れば大丈夫! クエリ編 3つのつぼと5つのグラフ (その1)監視ツールが何を見ているのか知る (その2)監視のキモ、グラフ3点セット (Questions, Lock Waits と Transaction Handler) (その3)グラフでチェックする SQL チューニング ( Select Type と Handler) シンプルでお勧め、サーバー監視グラフ化ツール
ここでは、サーバパラメタの最適化によるMySQLのチューンについて紹介する。 _ パラメタのチェック 現在の設定値を確認するには、 # mysqld --help とする。 MySQL-5.xでは、 # mysqld --verbose --help としないと、確認できなかった。 あるいは、クライアントから、 mysql> SHOW VARIABLES; でもOK。 ↑ key_buffer_size † MyISAM テーブルのインデックスを保存しておくバッファの大きさ。サーバ全体で共有される。メモリに余裕があれば、MyISAMのみのMySQL専用サーバなら、RAMの1/2、Apache などと共用なら、RAM の1/4程度とする。ただし、サイズを大きくすると、OSのページングのために、逆に遅くなることもあるので注意。 set-variable = key_buffer=256M M
昔から運用しているデータベースには、文字コードをlaten1で運用しているものもあったりします。DEFAULT CHARACTER SETはシステム設定で変更できますが、テーブルのカラムに紐づいているCHARACTER SETの変更方法はALTER TABLEでて着るようです。 MySQL/ALTER – MinacoWiki 列の型変更 ALTER TABLE テーブル名 CHANGE sample_name sample_name VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; ALTER TABLE テーブル名 CHANGE sample_name sample_name VARCHAR(6) NULL DEFAULT NULL; よく間違えるのは、CHARACTER SETよりも前
DoCoMoが2008-03-31から、iモードID通知機能サービスを開始しました。 これで、勝手サイトでもutnの端末情報取得のダイアログを出すことなくユーザの一意のIDを他キャリア同様に取得できるようになります。 参考 「重要なお知らせ : 『iモードID』の提供開始について | NTTドコモ」 「開発者向け情報 | サービス・機能 | NTTドコモ」 ke-tai.orgでもさっそくエントリがあがっていました。 「本日提供が開始された「iモードID」機能を早速試してみました | ke-tai.org - インフィニットループ」 phpの場合は次のような変数から取得することが出来ます。 var_dump($_SERVER['HTTP_X_DCMGUID']); var_dump(getenv('HTTP_X_DCMGUID')); $_SERVERはiniの設定に依存するのでgeten
This was a fun talk. I saw a lot of nods in the audience when I mentioned things pertaining to social applications (unpredictable usage, etc.). A lot of folks ask questions about how we use ganglia at Flickr. A PDF of my slides are here. If anyone can tell me how to get Keynote2 slides into an HTML format, I’d appreciate it.
http://forge.mysql.com/wiki/Top10SQLPerformanceTipsというのがあったので、和訳してみる。 (11/23 追記)id:pekeqさんとsodaさんのコメントを受け一部更新 (4/27 追記と修正)id:hirose31さんの指摘を受け修正。あと元のサイトが構成変更していたので追従 クエリのパフォーマンスに関するTips(データベースのデザインとインデックスについても) EXPLAINを使ってクエリの実行プロファイルを取れ スロークエリログを使え(常に有効にしておけ!) GROUP BYを使っているか使えるなら、DISTINCTを使うな Insertのパフォーマンス バッチ処理によるINSERTとREPLACE INSERTの代りにLOAD DATAを使う LIMIT m,nは案外速くない 2000件以上のレコードに対してORDER BY RA
Abstract This is the MySQL Reference Manual. It documents MySQL 8.4 through 8.4.3, as well as NDB Cluster 8.4 through 8.4.3, respectively. It may include documentation of features of MySQL versions that have not yet been released. For information about which versions have been released, see the MySQL 8.4 Release Notes. MySQL 8.4 features. This manual describes features that are not included in eve
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く