タグ

mysqlに関するtk78のブックマーク (34)

  • SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita

    データベースとテーブルの作成 テスト用のデータベースtestdbを作成し、パフォーマンスチューニングを検証するためのcompanyおよびpersonテーブルを定義します。 CREATE DATABASE testdb; USE testdb; CREATE TABLE company ( company_id INT AUTO_INCREMENT PRIMARY KEY, company_name VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE person ( person_id INT AUTO_INCREMENT PRIMARY KEY, company_id INT, person_name VARCHAR(255) NOT NULL, email VARCH

    SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita
    tk78
    tk78 2024/02/22
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • データベースの設計と運用

    開発で使用するデータベースは基的に MySQL となるため、ここでは MySQL をベースとした設計指針を解説します。 データベースの設計 クラスの設計 DAO クラス 定数クラス データベースの運用 データベースの設計 仕様書上のテーブル、及び各カラムには概要の説明文 (コメント) を付ける。 テーブル 命名規則 原則的にテーブル名は複数系で統一する。(例: 会員マスタであれば members) "media" など、複数系が存在しない単語に関しては単数形のままとする。 日語の識別子 (例: kaiin_kanri) は使用してはならない。 省略した単語名を使用してはならない。略語は人によって略し方が異なるため、命名規則に揺れが生じる可能性がある。 使用可能な文字は英小文字、数字、及びアンダースコアとする。MySQL の予約語 (date、time 等) は極力使用しないこと。 テー

    tk78
    tk78 2014/06/18
  • Win・MacにApache+MySQL開発環境を一括インストールしつつ各種ソフトウェアのインストールも1発で出来る「AMPPS」:phpspot開発日誌

    Win・MacにApache+MySQL開発環境を一括インストールしつつ各種ソフトウェアのインストールも1発で出来る「AMPPS」 2011年12月19日- Softaculous AMPPS Win・MacにApache+MySQL開発環境を一括インストールしつつ各種ソフトウェアのインストールも1発で出来る「AMPPS」。 インストール一発でApache+MySQLPHPPerlPythonのインストールが可能。そうしたソフトウェアは他にもありますが、ユニークなのは250以上のオープンソースソフトもワンクリックで一発インストールが可能というところ。WordPressやJoomlaなどCMSの他、ショッピングカートやメールソフトウェア等、有名なOSSはクリック一発で驚きの簡単さでインストールできます。 いろんなオープンソースがあることを学べ、更にクリック一発で試用することが出来るので

  • ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
    tk78
    tk78 2011/03/29
  • MySQLのInnoDBでのデッドロック - mixi engineer blog

    こんにちは、mixi開発部にてアプリケーション開発をしていますyouheiです。 今回は、MySQL-5.0.45のInnoDBで連番を管理するテーブルのパフォーマンス測定をしていたのですが、その際に少し変わったデッドロック問題に遭遇しましたので、そのあたりをネタとして書いてみたいと思います。 まずは、今回使用したデータベースのスキーマは下記のようなものです。 CREATE TABLE num ( id bigint unsigned NOT NULL default '0' ) Engine=InnoDB; AUTO_INCREMENTは使用していません。 そこに1レコードだけ登録します。 INSERT INTO num (id) values (1); そして実際連番を取得する際には、 UPDATE num SET id = LAST_INSERT_ID(id+1); といったクエリを

    MySQLのInnoDBでのデッドロック - mixi engineer blog
    tk78
    tk78 2010/08/23
  • MySQL :: MySQL 5.6 リファレンスマニュアル :: 23.7.7.49 mysql_options()

    int mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg) 説明 追加の接続オプションを設定し、接続の動作に影響を与えるために使うことができます。この関数を複数回呼び出して、複数のオプションを設定できます。 mysql_init() のあとと mysql_connect() または mysql_real_connect() の前に mysql_options() を呼び出します。 option 引数は、設定するオプションです。arg 引数はそのオプションの値です。オプションが整数の場合、arg 引数として、整数の値へのポインタを指定します。 次のリストに、可能なオプション、それらの効果、および各オプションの arg の使用方法を示します。オプションのいくつかは、アプリケーションが libmysqld

    tk78
    tk78 2010/08/09
  • MySql4.1以上の日本語に関する問題点まとめ

    ライセンスはどうなっていますか?商用利用ではどうすべきですか? † GPL か 有料のライセンスか。 2007年1月1日時点では Community : GPL Enterprise : 有料で別のライセンス GPL については http://www.gnu.org/home.ja.html をご覧ください。 ↑ mysqld が最低必要とする物 † basedir/share/ ディレクトリ以下(shareファイル。errmsg.sys や charsets/) datadir/mysql/ (mysql 権限データベース、テーブル) 権限テーブルや charsets/ がなければ mysqld は起動しない。 errmsg.sys はバージョンによって数が違うので、違うバージョンの errmsg.sys を使用していると mysqld が起動しない。 これらが起きた場合、.err ファ

  • MySQL、MyISAMとInnoDBを選ぶ方法 | エンタープライズ | マイコミジャーナル

    SitePoint: New Articles, Fresh Thinking for Web Developers and Designers MySQLはほかの多くのデータベースと違って複数のテーブルタイプを提供しており、用途に応じてテーブルタイプを使い分けることができるようになっている。デフォルトのテーブルタイプはMyISAMだが、ほかにもInnoDBを選択することもできる。SitePointに次の2つの記事が掲載されており、どちらを選択すべきかが簡潔にまとまっている。 MySQL: the Pros and Cons of MyISAM Tables MySQL: the Pros and Cons of InnoDB Tables 内容を要約すると次のようになる。 MyISAMの特徴と問題点 特徴: デフォルトのテーブルタイプ 特徴: シンプル 特徴: 高速に動作 特徴: フルテ

    tk78
    tk78 2010/08/09
  • MySQLのAUTOCOMMIT(オートコミット)覚え書き – OpenGroove

    MySQLの機能のひとつ、AUTOCOMMIT(オートコミット)が有効/無効でどのように挙動が変わるのか、今イチ理解できていない。やっぱり、一回書いておかないと。 前提として、トランザクションセーフであるInnoDBテーブルが対象であること(MySAMはトランザクションをサポートしていない)。なお、この記事内における「暗黙のうちに、暗黙的」という表現は「自動的に」と同義語と 捉えるものとする。(・・・と勝手に決めます) AUTOCOMMIT(オートコミット)有効/無効の違い AUTOCOMMIT(オートコミット)を有効にするか無効にするかにより、トランザクションの開始/終了の方法が変化する。 オートコミットを有効にした場合(デフォルトで有効) この場合のトランザクションは単一のSQL文実行時に暗黙のうちに、またはSTART TRANSACTION文によって明示的に開始される。 この中でST

    tk78
    tk78 2010/08/08
  • さくらのPHPでLOAD DATA INFILE使うと#2027: Malformed packetが出る問題について - FREE AREA

    同じエラーにはまった人が検索でここに辿り着けるように、メモ。さくらインターネットのサーバーから、CSVファイルをLOAD DATA INFILEするために、以下のPHPスクリプトを作りました。 $s = mysql_connect('mysqlxxx.db.sakura.ne.jp', 'user', 'password', true, 128); mysql_select_db("user", $s); $sql = "LOAD DATA LOCAL INFILE '/home/user/www/File.csv' REPLACE INTO TABLE `ItemInfo` FIELDS TERMINATED BY ','""; $query = mysql_query($sql); ?> 私のサーバーでは『2027: Malformed packet』エラーが出ましたが、 友人*

    tk78
    tk78 2010/08/05
  • MySQL CSVファイル入出力

    MYSQLでの「CSVファイル」の入出力(インポート、エクスポート)方法について記載しています。 WindowsLinuxのどちらの環境でもファイルパスの記載が変わるだけでコマンドは同一になります。 入力 LOAD DATA INFILE 「,」などで区切られたCSVファイルを用意することにより、MySQLに高速にデータを入力することができます。 文字の囲み文字が「”」のときの使用例です。 囲み文字が必要ないときはENCLOSED BY ‘”‘を外します。 構文 LOAD DATA INFILE "ファイル名" INTO TABLE テーブル名 FIELDS TERMINATED BY ',区切り文字' ENCLOSED BY '"';

    MySQL CSVファイル入出力
    tk78
    tk78 2010/08/05
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.2.7 LOAD DATA ステートメント

    SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント

    tk78
    tk78 2010/08/05
  • http://blog.olivesystem.com/824.html

  • ODBC によるMySQLの操作

    ここまでにMySQLへのアクセス、Microsoft Accessデータベースへのアクセスは学習しました。 さらに、ODBCでMySQLのデータベースにアクセスする必要が有るのでしょうか? もちろん、単独でデータベースを操作するのであれば、ここまでの学習で十分です。 ただ、ODBCでMySQLにアクセスできれば、ODBCでAccessにアクセスした全く同じコードで MySQLのデータベースにもアクセスする事が可能になります。 何より、ODBCを使えば、MySQLのデータベースにVBやVCでアクセス可能になりますので、 高いパフォーマンスを持ったMySQLのデータベースを使用したクライアントソフトが開発できます。 たとえば、携帯電話からの予約情報をPerlMySQLに保存し、VBで開発した予約管理のクライアントで リアルタイムに確認できます。こうすれば、オペレータが電話予約と、インターネッ

  • 一行入魂 VBSでmysqlにアクセスする

    VBS(VBScript)でADOを使ってMySQLにアクセスするプログラムです。 MySQLは5.1、Connector/ODBCは5.1を使用しています。 また、テーブルのエンコーディングはUTF-8です。 insert文ではプレースホルダーを使用しています。SQLインジェクションは怖いですからね(笑) t_userのnameに値を登録する時にadVarCharですと文字化けします。adWCharにするとUnicodeで処理してくれます。 Option Explicit ' コネクション生成 Dim cn Set cn = CreateObject("ADODB.Connection") cn.Open "dsn=localhost;uid=user;pwd=password" cn.CursorLocation = 3 Dim cmd Set cmd = CreateObject("

    tk78
    tk78 2010/08/02
  • MySQL :: Download Connector/ODBC

    Windows (x86, 64-bit), ZIP Archive Debug Binaries & Test Suite

  • mysqlのint(11)の11

    MySQL Manual | 6.2.1 数値型 MySQL には、INT(4) のように、型の基キーワードに続いて整数値の表示幅をかっこ内に指定できるオプションがあります。このオプションの表示幅の指定は、カラムに指定された幅より小さい幅を持つ値で表示の左側を埋める目的で使用されますが、そのカラムに格納できる値の範囲が制限されたり、そのカラムに指定された幅を超える幅を持つ値の桁数が制限されたりすることはありません。オプションの拡張属性 ZEROFILL と組み合せて使用した場合、デフォルトのスペースに代わってゼロが埋め込まれます。けっこう勘違いしている人がいそうなのですが、mysqlの型でint(?)とか、?に数字を入れますが、この数字は上記の通りZEROFILLをした際にスペースに代わってゼロが埋め込まれる際の幅なのです。自分は勘違いというかあまりよくわかっていませんでした…。 つまり

    tk78
    tk78 2010/07/31
  • MySQL演算子・関数

    MySQLの演算子や関数について説明します。 なお、個人的に必要無いと思うものについては省略しています(笑)。 MySQL5.0.16対応 最初に MySQLでは、数値⇔文字列の変換は自動的に行われます。 SELECT 100 + '200' -> 300 SELECT 100 < '200' -> 1 (TRUE) SELECT 100 < '22' -> 0 (FALSE) 比較演算子 比較演算の結果は、1(TRUE) / 0(FALSE) / NULL のいずれかになります。 例を挙げます。 SELECT 1 = 1 -> 1 SELECT 1 = 3 -> 0 SELECT 1 = NULL -> NULL SELECT NULL = NULL -> NULL 最後の結果に注意して下さい。 どのデータベースにも共通して言えることですが、NULLという値は 特別な意味を持ちます。 N

    tk78
    tk78 2010/07/23
  • phpMyadminでかなり大きなファイルをインポートする - eshima.info

    2006 年 11 月 10 日 WEB. サーバーから取ってきた大量のデータを ローカルのxamppにインポートしてみました。 普通だと16Mくらいしかできず 分割してインポートすると大変なので一気にできないかと探してみたら 方法を発見。 xampp/phpMyAdmin/config.inc.php の中の $cfg[‘UploadDir’]=”; を $cfg[‘UploadDir’]=’./upload’; に変更します。 次に xampp/phpMyAdmin/upload というフォルダを作り、その中に大容量のインポートファイルを置きます。 そしたらphpMyAdminの画面のインポートの中に 「ウェブサーバー上でアップロードする : 」という項目で uploadフォルダのインポートファイルが選択できるようになるので そこで選択し、インポートを実行します。 あまりに大きいとタイ

    phpMyadminでかなり大きなファイルをインポートする - eshima.info