DB

LaravelでデータをDBに保存したいときのメモリ不足をなんとかする

APIで取得した50万件分のデータを保存する 環境 Linux 5.0.0-27-generic #28~18.04.1-Ubuntu PHP 7.3.9 Laravel Framework 6.0.3 MySQL 8.0 結論 CSVに一旦保存してLOAD DATA IN FILEが一番速い。 前提 509,999件分のデータを一括で取得できるAPIがあります…

Spider Engineを構築する

Spider環境構築 ローカルの開発環境にMariaDBをインストールし、複数DBを立ち上げSpider Engineを試す。 環境: mysql Ver 15.1 Distrib 10.4.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 Linux 5.0.0-27-generic #28~18.04.1-Ubuntu Maria…

"InnoDB: Plugin initialization aborted with error Generic error"

DB

docker-compose up でMySQLが突然起動しなくなった。 環境 Windows10 Pro 64bit MySQL 5.7.26 Docker 18.09.2 $ docker logs mysql 2019-07-25T01:19:35.869478Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_d…

『達人に学ぶDB設計徹底指南書』を読んだ

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ作者: ミック出版社/メーカー: 翔泳社発売日: 2012/03/16メディア: 単行本(ソフトカバー)購入: 21人 クリック: 316回この商品を含むブログ (24件) を見るDB設計をする上で必要な知識が詰まって…

『はじめてのSQL』を読んだ

DB

SQLは日々の業務でよく使うし、数百万件のデータを扱うようになって、インデックスを計画的に貼って、どういうクエリを発行すればいいのかまで、考えられるようになったが、実は雰囲気でSQLをやっている。このカラムは255文字以上の文字列は保存しないと思う…

FuelPHPでDUPLICATE KEY UPDATE

なるべくDBへのアクセスを減らして、テーブルにレコードが存在しないときはInsert、テーブルに登録済みの場合は商品名を更新したいときなどに使う。 更新前 id(PK) title 1 foo 2 bar 1, 'title' => 'hoge']; $data[] = ['id' => 2, 'title' => 'fuga']; $quer…

『44のアンチパターンに学ぶDBシステム』を読んだ

DB

・読んだ経緯 現在のプロジェクトのDBのテーブル設計に疑問を持っていて、フラグを複数もっていたり、ユーザの種類を数値で管理していたり、具体的に言うとユーザがフォームで設定を保存できて、例えば | user_id | type | param1 | param2 | param3 | param4 | …

Laravel DBのInsert3つ

・配列に入れてまとめてInsert $item, 'param2' => 1, 'param3' =>1]; } Capsule::table('テーブル名')->Insert($data); ・Insertかデータが存在すればUpdateする '値']) カラムに指定した値があれば更新なければ作成する $query = User::firstO…