インデックスなしの拳Xの行を選択するのMySQL

サンドール:

私は、新しいインデックスを追加することなく、大きなテーブルにSELECTクエリを実行する方法を探しています。

SELECT id FROM table_name WHERE column_1 = "" limit 100

これらの空の行800,000試合と満たされたものの500万程度あります。

データベースエンジンは、単に、一方の端からテーブルを読み取りを開始する(順に関係なく)最初の100行を収集し、停止したところ、私の心の中で道がなければなりません。しかし、上記のクエリでは、すべての5Mの行をチェックします。

私は無応答でインターネットを検索しました。誰かの助けくれアウトでした。ありがとうございました。

アンドレPletschette:

一つの方法または他のは、私が「COLUMN_1」にインデックスを追加します。

私は、MySQLがあなたに影響これまで任意の可能性を与えるものではありませんかなり確信しています。

あなたが試すことができますが、「TABLE_NAME FROM SELECT ID」を選択しないストアドプロシージャを、やっているし、「COLUMN_1 = 『』」でフィルタリングし、100個の陽性をカウントした後に停止します。

任意のより良い方法がある場合は、私が聞いていただきます。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=395696&siteId=1