MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MYSQLでループまたは「OR」演算子を使用して大量のデータを高速でクエリする必要がありますか?


クエリを高速化するには、MySQL IN()を使用する必要があります。まずテーブルを作成しましょう-

mysql> create table DemoTable1538
   -> (
   -> ClientId int,
   -> ClientName varchar(20)
   -> );
Query OK, 0 rows affected (0.59 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1538 values(101,'Chris');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1538 values(102,'Robert');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1538 values(103,'Bob');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1538 values(104,'Adam');
Query OK, 1 row affected (0.16 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1538;

これにより、次の出力が生成されます-

+----------+------------+
| ClientId | ClientName |
+----------+------------+
|      101 | Chris      |
|      102 | Robert     |
|      103 | Bob        |
|      104 | Adam       |
+----------+------------+
4 rows in set (0.00 sec)

ショーに続いて、複数の値をすばやくクエリできます-

mysql> select * from DemoTable1538 where ClientId IN(101,103,104);

これにより、次の出力が生成されます-

+----------+------------+
| ClientId | ClientName |
+----------+------------+
|      101 | Chris      |
|      103 | Bob        |
|      104 | Adam       |
+----------+------------+
3 rows in set (0.00 sec)

  1. MySQLクエリで「LIKEconcat()」を使用できますか?

    はい、できます。まずテーブルを作成しましょう- mysql> create table DemoTable (    Name varchar(50) ); Query OK, 0 rows affected (0.63 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('

  2. 別の数値の累乗の数値を返すには、MySQLで^演算子を使用する必要がありますか?

    いいえ、^はMySQLのビット単位のXOR演算子です。これには、MySQLのPOW()またはPOWER()を使用します。まず、テーブルを作成しましょう&minuns; mysql> create table DemoTable (    BaseValue int,    PowerValue float ); Query OK, 0 rows affected (0.48 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(4,1.9867