タグ

MySQLに関するel-condorのブックマーク (8)

  • 日々の覚書: MySQL 8.0では「GROUP BYによる暗黙のソート」がされなくなるよ

    GROUP BY implicitly sorts by default (that is, in the absence of ASC or DESC designators), but relying on implicit GROUP BY sorting in MySQL 5.7 is deprecated. $ perl -ML -E 'for (my $n= 1; $n <= 10; $n++) { for (my $m= 1; $m <= 100; $m++) { printf("%d\t%d\n", $n, $m) } }' | sort -R > /tmp/seq mysql80 165> CREATE TABLE t1 (n int, m int); Query OK, 0 rows affected (0.05 sec) mysql80 165> LOAD DATA

    el-condor
    el-condor 2018/11/07
    普通順序が必要な時にはORDER BYするもんだと思っていたのが違うのか。大人しくORDER BYを足さない選択肢があったことを初めて知った(そしてこの知識は最早役に立たない)
  • MySQLのInnoDBプライマリーキーのチューニング | Yakst

    [MySQL]原文 Tuning InnoDB Primary Keys - Percona Database Performance Blog (English) 原文著者 Yves Trudeau 原文公開日 2018-07-26 翻訳依頼者 翻訳者 kakuka4430 翻訳レビュアー doublemarket 原著者への翻訳報告 2055日前 原文へのコメントで報告済み 編集 良いInnoDBプライマリキーを選ぶことは、パフォーマンスチューニングの方向性にとても重要です。この記事では、あなたのワークロードに応じた最適なプライマリキーを選ぶための方法を紹介したいと思います。 Percona社のプリンシパルアーキテクトとしての私の責務の一つは、顧客のデータベースをチューニングすることです。パフォーマンスチューニングに関連する側面は多く存在し、それがこの仕事を複雑、かつ大変興味深いものに

  • MySQLのストアドプロシージャ、ファンクション、トリガーのパフォーマンスが悪いのはなぜか | Yakst

    MySQLのストアドプロシージャ、ファンクション、トリガーの性能が良くない理由について解説した記事。 実際のテストケースを交えながら、性能が落ちてしまうケースについて考察しています。 [MySQL]原文 Why MySQL Stored Procedures, Functions and Triggers Are Bad For Performance - Percona Database Performance Blog (English) 原文公開日 2018-07-12 翻訳依頼者 翻訳者 kakuka4430 翻訳レビュアー doublemarket 原著者への翻訳報告 1928日前 原文へのコメントで報告済み 編集 アプリケーション開発者は、MySQLのストアドプロシージャ、ファンクション、トリガーをよく作成します。しかしながら、私が知る限り、MySQLのストアドルーチンを使うと

    el-condor
    el-condor 2018/07/24
    一般にストアドプロシージャが速い理由は、クエリのデータ往復が減るのはもちろんだけど、もう一つは実行時コンパイルを必要としないからじゃなかったっけ。MySQLは違うのか。そりゃ遅いわ。
  • MySQLのsjisとcp932の違い - tmtms のメモ

    今さらですけど、自分でもちゃんと把握してなかったので調べてみました。 MySQLのCharsetのうちシフトJIS系のものはsjisとcp932の二つあります。 どちらもコードの範囲は次のように同じです。 1バイト文字 0x00-0x7F, 0xA1-0xDF 2バイト文字の1バイト目 0x81-0x9F, 0xE0-0xFC 2バイト文字の2バイト目 0x40-0x7E, 0x80-0xFC 違いは文字集合です。1バイト文字はどちらも同じ(ASCII + JIS X 0201 カナ)ですが、2バイト文字はsjisはJIS X 0208 で、cp932はWindows-31Jです。 sjisに含まれていない文字 cp932はsjisよりも文字が多く、丸囲み数字(「①」「②」「③」等)、ローマ数字(「Ⅰ」「Ⅱ」「Ⅲ」等)、組文字(「㍉」「㌍」「㍻」等)、その他「彅」「髙」等の JIS X 0

    MySQLのsjisとcp932の違い - tmtms のメモ
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
  • MySQLのFLOAT型を使う理由が見つからない件 - hnwの日記

    MySQLのデータ型としてFLOAT型という型があるのですが、これを採用するのは混乱の元ではないか?と感じたので、その詳細を紹介します。 そもそもこの話のきっかけは「MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由」という記事が目に止まったことです。それなりに人気を集めている記事のようですが、私の読んだ限りではFLOAT型を使うだけの根拠が文中から読み取れず、さらに類似する一次情報や英語記事が全く見つからなかったので、真偽が怪しい情報だと感じました。 その後、MySQL上で実験したりCソースコードを読んでみたりした結果、私の得た結論は真逆のものになりました。MySQL警察の方や浮動小数点数警察の方、追試や反論など頂けると助かります。 MySQLのFLOAT型とは MySQLのFLOAT型は原則としてIEEE754浮動小数点数単精度型(32bit)で実現されます*1。

    MySQLのFLOAT型を使う理由が見つからない件 - hnwの日記
    el-condor
    el-condor 2017/12/22
    DBで小数点を扱う時は大人しくdecimal使っとけという話。
  • MySQL 8.0のすぐに使えるパッケージの改良 | Yakst

    MySQL 8.0に「サーバーのメモリー量に応じて自動でパラメーターを設定する」ための innodb-dedicated-server が導入される予定です。この機能と導入の背景を紹介します。 免責事項 この記事はMySQL Server Blogの投稿 Plan to improve the out of the Box Experience in MySQL 8.0 をユーザが翻訳したものであり、Oracle公式の文書ではありません。 MySQL 8.0において我々は innodb_dedicated_server=bool と呼ばれる新しいパラメーターを導入するつもりです。 これがONに設定されている時、このオプションはシステムメモリーの量を確認し、以下のルールに従って自動的にパラメーターを決定します。 innodb_buffer_pool_size server_memory <

    el-condor
    el-condor 2017/08/30
    地味に良い変更
  • RDS MySQL DBインスタンスからAmazon Aurora Read Replicaを作成可能になりました | Amazon Web Services

    Amazon Web Services ブログ RDS MySQL DBインスタンスからAmazon Aurora Read Replicaを作成可能になりました 24時間365日稼働しているアプリケーションが利用しているデータベースエンジンを他のデータベースエンジンに移行するにはいくつかの方法を使う必要があると思います。データベースをオフラインにせずに移行する良い方法として、レプリケーションを利用する方法があります。 日、Amazon RDS DB for MySQLインスタンスを Amazon AuroraAurora Read Replicaを作成して移行する機能をリリースしました。マイグレーションは、まず既存のDBスナップショットを作成し、そこからAurora Read Replicaを作成します。レプリカのセットアップが完了後、ソースデータベースとのレプリケーションの設定を行

    RDS MySQL DBインスタンスからAmazon Aurora Read Replicaを作成可能になりました | Amazon Web Services
    el-condor
    el-condor 2017/01/19
    RDSの公式移行パスができたってことですな。素晴らしいのでは。
  • 1