int型の列のMySQLインデックス?
テーブルに大量のレコードがある場合は常に、int型の列にインデックスを追加することで、クエリをより高速に実行できます。
テーブルのレコード数が少ない場合は、int型の列にインデックスを使用することはお勧めできません。
概念を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table indexOnIntColumnDemo -> ( -> UserId int, -> UserName varchar(20), -> UserAge int, -> INDEX(UserId) -> ); Query OK, 0 rows affected (0.85 sec)
次に、テーブルの説明を確認します-
mysql> desc indexOnIntColumnDemo;
これが出力です-
+----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | UserId | int(11) | YES | MUL | NULL | | | UserName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set (0.04 sec)
これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです-
mysql> insert into indexOnIntColumnDemo values(1001,'John',23); Query OK, 1 row affected (0.22 sec) mysql> insert into indexOnIntColumnDemo values(1002,'Sam',25); Query OK, 1 row affected (0.14 sec) mysql> insert into indexOnIntColumnDemo values(1003,'Carol',22); Query OK, 1 row affected (0.24 sec) mysql> insert into indexOnIntColumnDemo values(1004,'Mike',26); Query OK, 1 row affected (0.14 sec)
これで、selectステートメントを使用してテーブルのすべてのレコードを表示できます。クエリは次のとおりです-
mysql> select *from indexOnIntColumnDemo;
以下は出力です-
+--------+----------+---------+ | UserId | UserName | UserAge | +--------+----------+---------+ | 1001 | John | 23 | | 1002 | Sam | 25 | | 1003 | Carol | 22 | | 1004 | Mike | 26 | +--------+----------+---------+ 4 rows in set (0.00 sec)
より高速に実行するには、int型のインデックス列の条件を使用します
mysql> select *from indexOnIntColumnDemo where UserId=1004;
出力は次のとおりです
+--------+----------+---------+ | UserId | UserName | UserAge | +--------+----------+---------+ | 1004 | Mike | 26 | +--------+----------+---------+ 1 row in set (0.00 sec)
-
BLOB型で宣言された列の長さをフェッチするMySQLクエリ
これには、MySQLのLENGTH()関数を使用します。まず、テーブルを作成しましょう。列のタイプをBLOB-として宣言しました mysql> create table DemoTable ( Title blob ); Query OK, 0 rows affected (0.57 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('This is a MySQL tutorial'); Query OK, 1 row affected
-
列の値を置き換えるMySQLクエリ
まずテーブルを作成しましょう- mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Score int ); Query OK, 0 rows affected (0.45 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Score) values(56); Query OK, 1 row affected (0.24 sec)