mysql or条件可以使用索引而避免全表扫描_MySQL
bitsCN.com
在某些情况下,or条件可以避免全表扫描的。
1 .where 语句里面如果带有or条件, myisam表能用到索引,innodb不行。
1)myisam表:
CREATE TABLE IF NOT EXISTS `a` (
`id` int(1) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`aNum` char(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `uid` (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
mysql> explain select * from a where id=1 or uid =2;
+----+-------------+-------+-------------+---------------+-------------+---------+------+------+---------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+-------------+---------------+-------------+---------+------+------+---------------------------------------+
| 1 | SIMPLE | a | index_merge | PRIMARY,uid | PRIMARY,uid | 4,4 | NULL | 2 | Using union(PRIMARY,uid); Using where |
+----+-------------+-------+-------------+---------------+-------------+---------+------+------+---------------------------------------+
1 row in set (0.00 sec)
2)innodb表:
CREATE TABLE IF NOT EXISTS `a` (
`id` int(1) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`aNum` char(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
mysql> explain select * from a where id=1 or uid =2;
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | a | ALL | PRIMARY,uid | NULL | NULL | NULL | 5 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)
2 .必须所有的or条件都必须是独立索引:
+-------+----------------------------------------------------------------------------------------------------------------------
| Table | Create Table
+-------+----------------------------------------------------------------------------------------------------------------------
| a | CREATE TABLE `a` (
`id` int(1) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`aNum` char(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 |
+-------+----------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)
explain查看:
mysql> explain select * from a where id=1 or uid =2;
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | a | ALL | PRIMARY | NULL | NULL | NULL | 5 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)
全表扫描了。
摘自 hguisu的专栏
bitsCN.com
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











HP プリンターを使用して文書をスキャンした後、多くのユーザーは文書を直接スキャンして PDF ファイルに変換したいと考えていますが、その方法がわかりません。コンピューター上のスキャナー プログラムを使用するだけで済みます。 HP プリンターをスキャンして PDF を作成する方法: 1. まず、コンピューター上でスキャナー プログラムを開きます。 2. 次に、ページ設定で「PDF を保存」を選択します。 3. 次に、右下隅の「スキャン」を押して、最初のファイルのスキャンを開始します。 4. 完了後、左下隅の「+」アイコンをクリックして新しいスキャン ページを追加します。 5. 元のファイルの横に新しいスキャン ボックスが表示されます。 7. 完了したら、[保存] を選択してこれらの PDF ファイルを保存します。

Windows 10 には Windows Defender と呼ばれる無料のウイルス対策プログラムがあり、リアルタイムの保護を提供し、コンピューターをスキャンできます。これにより、カスタマイズされたスキャンを実行することもでき、マルウェアをスキャンする特定のフォルダーまたはドライブを指定できます。このフォルダーのみをスキャンする必要があるため、スキャン時間はマシン全体をスキャンするよりもはるかに速くなります。以下に示すように、特定のフォルダーのスキャンをカスタマイズする 2 つの方法が提供されています。 Windows Defender を使用して Win10 でフォルダーのマルウェアをスキャンする方法。個々のフォルダーとそのサブフォルダーをスキャンするには、フォルダーを右クリックして [Windows Defender でスキャン] を選択するのが最も簡単な方法です。

1. NetEase Cloud Music を開き、「My」をクリックして、「Local Music」をクリックします。 2. 右上隅にある 3 つの点をクリックします。 3. 「ローカル音楽をスキャン」をクリックします。 4. 下の「スキャン設定」をクリックします。 5. 左にスワイプして、60 秒未満のオーディオ ファイルをフィルタリングします。 6. 戻って [フル スキャン] をクリックして、ローカルの音楽をすべてスキャンします。

Quarkソフトウェアには、ユーザーに便利さと楽しさをもたらすさまざまな機能があり、その中でも特に人気があるのがスキャン機能です。スキャン機能により、ユーザーは QR コードを簡単にスキャンすることができ、Web サイトへのログイン、友達の追加、アプリケーションのダウンロードなどをすべてワンクリックで行うことができます。では、Quark QRコードのスキャン機能の使い方について、まだ使い方が分からないというプレイヤーは必見ですので、このサイトの編集者による記事を読んで詳しく学んでください。 Quark QRコードをスキャンして答える方法: [Quark]-[3つの横アイコン]-[写真を撮ってスキャン]。具体的な手順: 1. まず Quark ソフトウェアを開き、ホームページに入ったら右下隅にある [3 つの横アイコン] をクリックします; 2. 次に、マイ ページをページの一番下まで上にスライドして、[写真スキャン] を見つけます]

処理方法: 1. PS ソフトウェアで処理するスキャン画像を開きます; 2. 上部ツールバーの「フィルター」-「シャープ化」-「スマートシャープニング」をクリックします; 3. ポップアップウィンドウで、目的に応じて選択します半径を鋭くして「OK」をクリックします; 4.「ファイル」-「名前を付けて保存」をクリックし、ファイルとして保存します。

PHP で QR コード スキャンを使用するにはどうすればよいですか? QR コードのスキャンは現代の生活において非常に一般的になりました。 Alipay、WeChat Pay、その他のさまざまなアプリケーションでも、QR コードをスキャンするだけで、すばやく支払いや情報の転送ができます。 PHPではQRコードスキャン機能も簡単に実装できます。この記事では、PHP を使用して QR コードをスキャンする方法と、対応するコード例を紹介します。まず、PHP QR コード生成ライブラリが必要ですが、ここでは「PHPQRCode」ライブラリを使用することを選択します。

Java 開発プロジェクトのセキュリティ脆弱性をスキャンして修復する方法 インターネットの急速な発展に伴い、Java 開発は多くの企業や個人にとって最初の選択肢になりました。そしてそれに伴うセキュリティ問題も徐々に重要になってきています。セキュリティの脆弱性がプロジェクトにもたらす潜在的なリスクは無視できません。したがって、Java 開発プロジェクトのセキュリティ脆弱性をスキャンして修復することが重要です。この記事では、開発者がセキュリティの脆弱性を効果的にスキャンして修復するのに役立ついくつかの方法とツールを紹介します。セキュリティの脆弱性をスキャンして修復する前に、一般的なセキュリティの脆弱性を理解してください。

Apple はこの便利な機能をデバイスに組み込んでおり、iPhone のカメラから簡単にアクセスできるようにしており、デバイス上の QR コードを自動的にスキャンできるようになります。 QR コードは Quick Response Code の略で、本質的には、内蔵カメラを備えたさまざまなスマートフォンやその他の電子機器で簡単にスキャンして解釈できる 2 次元バーコードです。 QR コードをスキャンすると、通常、ユーザーは特定の Web サイトに誘導されるか、アプリ内の特定の機能をアクティブにするように求められます。この非常に便利な機能は、Apple の iPhone を含む最新のスマートフォンでますます一般的になりつつあり、ユーザーが最小限の労力で情報、サービス、または機能にアクセスできる便利な方法です。多くの企業がこの機能を物理的な製品に使用しており、製品の QR コードをスキャンすると、
