SlideShare a Scribd company logo
1 of 32
メッチャ役に立つ
auto_incrementの話

    @kitakoh 2012
自己紹介

@kitakoh(放置中…)

大分から来ました

パン食べるパン

よろしくお願いします!
auto_increment



通し番号を自動で振ってくれる機能
user_id(auto_increment),
user_name(char 10)

だけのテーブルで実験
普通にINSERT

INSERT INTO tbl (user_name)
VALUES
(‘user01’),
(‘user02’),
(‘user03’);
普通にINSERT
 +---------+-----------+
 | user_id | user_name |
 +---------+-----------+
 |       1 | user01    |
 |       2 | user02    |
 |       3 | user03    |
 +---------+-----------+
3 rows in set (0.00 sec)
user_id=2をDELETE
   +---------+-----------+
   | user_id | user_name |
   +---------+-----------+
   |       1 | user01    |
   |     ! 2 | user02    |
   |       3 | user03    |
   +---------+-----------+
  3 rows in set (0.00 sec)
この状態で新規行をINSERT
    +---------+-----------+
    | user_id | user_name |
    +---------+-----------+
    |       1 | user01    |
    |       3 | user03    |
    +---------+-----------+
   2 rows in set (0.00 sec)
最後に追加された
 +---------+-----------+
 | user_id | user_name |
 +---------+-----------+
 |       1 | user01    |
 |       3 | user03    |
 |     ! 4 | userXX    |
 +---------+-----------+
3 rows in set (0.00 sec)
最後の行をDELETEしてINSERTすると?
     +---------+-----------+
     | user_id | user_name |
     +---------+-----------+
     |       1 | user01    |
     |       3 | user03    |
     |     ! 4 | userXX    |
     +---------+-----------+
    3 rows in set (0.00 sec)
最後に追加された
 +---------+-----------+
 | user_id | user_name |
 +---------+-----------+
 |       1 | user01    |
 |       3 | user03    |
 |     ! 5 | userYY    |
 +---------+-----------+
3 rows in set (0.00 sec)
auto_incrementで振られ
るシーケンスは再利用され
       ない
user_idを指定してみる


INSERT INTO tbl (user_id, user_name)
VALUES (10, ‘user10’);
ここに新規行をINSERT
  +---------+-----------+
  | user_id | user_name |
  +---------+-----------+
  |       1 | user01    |
  |       3 | user03    |
  |       4 | userXX    |
  |       5 | userYY    |
  |      10 | user10    |
  +---------+-----------+
最後に追加された
+---------+-----------+
| user_id | user_name |
+---------+-----------+
|       1 | user01    |
|       3 | user03    |
|       4 | userXX    |
|       5 | userYY    |
|      10 | user10    |
|    ! 11 | userZZ    |
+---------+-----------+
歯抜けのuser_idを指定


INSERT INTO tbl (user_id, user_name)
VALUES (2, ‘user2’);
指定場所に追加される
 +---------+-----------+
 | user_id | user_name |
 +---------+-----------+
 |       1 | user01    |
 |     ! 2 | user02    |
 |       3 | user03    |
 |       4 | userXX    |
 |       5 | userYY    |
 |      10 | user10    |
 |      11 | userZZ    |
シーケンスは基本的に再利
用されないが、値を指定す
  れば再利用可能
全行DELETEするとどうなる?

(シーケンス11まで振られている状態で)
DELETE FROM tbl;

INSERT INTO tbl(user_name)
VALUES(‘userXX’);
最後に追加される
 +---------+-----------+
 | user_id | user_name |
 +---------+-----------+
 |      12 | userXX    |
 +---------+-----------+
1 rows in set (0.00 sec)
テーブルをTRUNCATEするとどうなる?


(シーケンスが12まで振られてる状態で)
TRUNCATE TABLE tbl;

INSERT INTO
tbl(user_name)VALUES(‘userXX’);
シーケンスが巻き戻った
  +---------+-----------+
  | user_id | user_name |
  +---------+-----------+
  |       1 | userXX    |
  +---------+-----------+
 1 rows in set (0.00 sec)

        ※MySQL5.5
DELETEでは巻き戻らないが、
 TRUNCATEだと巻き戻る
user_idが最大値の状態でINSERT

INSERT INTO tbl(user_id, user_name)
VALUES(127, ‘userXX’);

        +---------+-----------+
        | user_id | user_name |
        +---------+-----------+
        |     127 | userXX    |
        +---------+-----------+
           ↑TINYINT(SIGNED)
ERRORになる


ERROR 1062 (23000): Duplicate entry
'127' for key 'PRIMARY'
シーケンス値は、ALTER文で指定できる




ALTER TABLE tbl auto_increment = 10;

10に指定しているので、新規行INSERTすると11から
入る
今のシーケンス値を知る方法
  SHOW CREATE TABLE tbl;

+-------+------------------------------------------------+
| Table | Create Table                                   |
+-------+------------------------------------------------+
| tbl   | CREATE TABLE `tbl` (                           |
|       | `user_id` tinyint(4) NOT NULL AUTO_INCREMENT, |
|       | `user_name` char(10) DEFAULT NULL,             |
|       | PRIMARY KEY (`user_id`)                        |
|       | ) ENGINE=InnoDB AUTO_INCREMENT=10              |
+-------+------------------------------------------------+
複合キーでauto_increment


CREATE TABLE tbl(
    dept_id TINYINT,   ←部門IDを追加
    user_id TINYINT AUTO_INCREMENT,
    user_name CHAR(10),
    PRIMARY KEY(dept_id, user_id)
)ENGINE=MyISAM;
複合キーでauto_increment

insert into tbl(dept_id, user_name) values(1, 'aa');
insert into tbl(dept_id, user_name) values(1, 'bb');
insert into tbl(dept_id, user_name) values(1, 'cc');

insert into tbl(dept_id, user_name) values(2, 'aa');
insert into tbl(dept_id, user_name) values(2, 'bb');
insert into tbl(dept_id, user_name) values(2, 'cc');

1と2の部門に3件ずつINSERTしてみる
複合キーでauto_increment

 +---------+---------+-----------+
 | dept_id | user_id | user_name |
 +---------+---------+-----------+
 |       1 |       1 | aa        |
 |       1 |       2 | bb        |
 |       1 |       3 | cc        |
 |       2 |       1 | aa        |
 |       2 |       2 | bb        |
 |       2 |       3 | cc        |
 +---------+---------+-----------+
 6 rows in set (0.01 sec)
複合キーでauto_increment

 dept_idとuser_idで重
 複しないように、自動的に
 user_idを連番で振ってく
 れます。(MyISAM限定)
メッチャ役に立つauto_incrementの話




        完 ご清聴下さった皆様、
      場所をご提供下さいましたgumi様、
         ありがとうございました

More Related Content

What's hot

Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Preferred Networks
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKensuke Maeda
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safeKumazaki Hiroki
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門NVIDIA Japan
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編hdais
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15Shuyo Nakatani
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるpospome
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

Lockfree Queue
Lockfree QueueLockfree Queue
Lockfree Queue
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
 
DNS再入門
DNS再入門DNS再入門
DNS再入門
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safe
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編UnboundとNSDの紹介 BIND9との比較編
UnboundとNSDの紹介 BIND9との比較編
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 

Viewers also liked

私がMySQLを始めた理由
私がMySQLを始めた理由私がMySQLを始めた理由
私がMySQLを始めた理由yoyamasaki
 
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡Aya Komuro
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 
MySQL for Excelの紹介
MySQL for Excelの紹介MySQL for Excelの紹介
MySQL for Excelの紹介yoyamasaki
 
カジュアルにギャップキーロックとネクストキーロック
カジュアルにギャップキーロックとネクストキーロックカジュアルにギャップキーロックとネクストキーロック
カジュアルにギャップキーロックとネクストキーロック株式会社シャーロック
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2学 松崎
 
Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2Makoto Haruyama
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?ichirin2501
 
Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBrendan Gregg
 
DevOps Practices: Configuration as Code
DevOps Practices:Configuration as CodeDevOps Practices:Configuration as Code
DevOps Practices: Configuration as CodeDoug Seven
 
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixConfiguration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixJustin Ryan
 
深い親子関係のテーブル設計
深い親子関係のテーブル設計深い親子関係のテーブル設計
深い親子関係のテーブル設計琢磨 三浦
 
DB技術[実践]入門を読んだ
DB技術[実践]入門を読んだDB技術[実践]入門を読んだ
DB技術[実践]入門を読んだYuuki Tan-nai
 
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03Aya Komuro
 
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugChef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugTakeshi Komiya
 
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01Takeshi Komiya
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話ichirin2501
 
PayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL ClusterPayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL ClusterMat Keep
 

Viewers also liked (20)

私がMySQLを始めた理由
私がMySQLを始めた理由私がMySQLを始めた理由
私がMySQLを始めた理由
 
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
Mysql casial01
Mysql casial01Mysql casial01
Mysql casial01
 
MySQL de NoSQL Fukuoka
MySQL de NoSQL FukuokaMySQL de NoSQL Fukuoka
MySQL de NoSQL Fukuoka
 
MySQL for Excelの紹介
MySQL for Excelの紹介MySQL for Excelの紹介
MySQL for Excelの紹介
 
カジュアルにギャップキーロックとネクストキーロック
カジュアルにギャップキーロックとネクストキーロックカジュアルにギャップキーロックとネクストキーロック
カジュアルにギャップキーロックとネクストキーロック
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
 
Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2Mysql casual fukuoa_vlo_2
Mysql casual fukuoa_vlo_2
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
 
Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
 
DevOps Practices: Configuration as Code
DevOps Practices:Configuration as CodeDevOps Practices:Configuration as Code
DevOps Practices: Configuration as Code
 
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixConfiguration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
 
深い親子関係のテーブル設計
深い親子関係のテーブル設計深い親子関係のテーブル設計
深い親子関係のテーブル設計
 
DB技術[実践]入門を読んだ
DB技術[実践]入門を読んだDB技術[実践]入門を読んだ
DB技術[実践]入門を読んだ
 
MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03MySQL カジュアル 福岡 03
MySQL カジュアル 福岡 03
 
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugChef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
 
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
 
PayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL ClusterPayPal Big Data and MySQL Cluster
PayPal Big Data and MySQL Cluster
 

Similar to メッチャ役に立つauto_incrementの話

DB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDODB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDOShinya Sugiyama
 
MySQL 入門的なはなし
MySQL 入門的なはなしMySQL 入門的なはなし
MySQL 入門的なはなしYuya Takeyama
 
MySQL勉強会 クエリチューニング編
MySQL勉強会 クエリチューニング編MySQL勉強会 クエリチューニング編
MySQL勉強会 クエリチューニング編MicroAd, Inc.(Engineer)
 
ふくよかなモデル
ふくよかなモデルふくよかなモデル
ふくよかなモデルyukaina
 
5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範Ivan Tu
 
削除フラグのはなし
削除フラグのはなし削除フラグのはなし
削除フラグのはなしShigetaka Yachi
 
MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理Shinya Sugiyama
 
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_groupLocondo 20190215@ec tech_group
Locondo 20190215@ec tech_groupShinya Sugiyama
 

Similar to メッチャ役に立つauto_incrementの話 (9)

http2 最速実装 v2
http2 最速実装 v2 http2 最速実装 v2
http2 最速実装 v2
 
DB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDODB tech showcase_tokyo2018_LOCONDO
DB tech showcase_tokyo2018_LOCONDO
 
MySQL 入門的なはなし
MySQL 入門的なはなしMySQL 入門的なはなし
MySQL 入門的なはなし
 
MySQL勉強会 クエリチューニング編
MySQL勉強会 クエリチューニング編MySQL勉強会 クエリチューニング編
MySQL勉強会 クエリチューニング編
 
ふくよかなモデル
ふくよかなモデルふくよかなモデル
ふくよかなモデル
 
5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範5 古雷my sql源碼與資料庫規範
5 古雷my sql源碼與資料庫規範
 
削除フラグのはなし
削除フラグのはなし削除フラグのはなし
削除フラグのはなし
 
MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理
 
Locondo 20190215@ec tech_group
Locondo 20190215@ec tech_groupLocondo 20190215@ec tech_group
Locondo 20190215@ec tech_group
 

メッチャ役に立つauto_incrementの話

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n