タグ

databaseとprogrammingに関するysakmrkmのブックマーク (3)

  • SQLの暗黙の型変換はワナがいっぱい

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2009年9月24日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり このエントリでは、SQLにおいて「暗黙の型変換」を使うべきでない理由として、具体的な「ワナ」をいくつか紹介します。 数値項目に対するSQLインジェクション対策のまとめにて説明したように、RDBの数値型の列に対してSQLインジェクション対策をする方法として、以下の三種類が知られています。 バインド機構を用いる パラメータの数値としての妥当性確認を行う パラメータを文字列リテラルとしてエスケープする このうち、方法3を使うべきでない説明の補足です。具体的には、方法3には、「暗黙の型変換」が発生しますが、それが思わ

  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
  • データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門

    はじめに 連載では、PHPまたはプログラミング初心者の方を対象に、PHPを用いたWebアプリケーションの作成方法を説明していきます。今回は、データベースとSQLに関して、「おすすめレストラン一覧を閲覧できるWebサイトを制作する場合」を例にして、説明をしていきます。 対象読者 プログラミングが初めてでこれから学習する予定の方 プログラミングの経験はあるがPHPを初めて学習する方 この記事の内容 はじめに 対象読者 動作確認環境 データベースとは何か・・・データベースはどんな役割? データベース操作の基礎・・・データベース言語「SQL」とは SQL基礎:テーブルの作成・・・CREATE文を使ってみましょう SQL基礎:レコード追加・・・INSERT文を使ってみましょう SQL基礎:レコード検索・・・SELECT文を使ってみましょう SQL基礎:レコード更新・・・UPDATE文を使ってみまし

    データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門
  • 1