MySQL に何百万ものレコードを含むテーブルがあります -> Wiki ページのメモを使用して Infobright にインポートしましたが、問題ありません!
テーブルの構文は次のとおりです
CREATE TABLE `myTable` (
`a` varchar(255) COLLATE latin1_bin DEFAULT NULL,
`b` varchar(255) COLLATE latin1_bin DEFAULT NULL,
`c` bigint(20) NOT NULL,
`d` bigint(20) NOT NULL,
`e` int(10) NOT NULL
) ENGINE=BRIGHTHOUSE
ここで、select クエリを 450 回実行する必要があります。そのたびに、異なる「a」が制約として使用されます。
SELECT d,e FROM `myTable` WHERE a = 'myString';
目標は、合計ですべてのクエリが呼び出される時間を短縮することです。しかし、私はそれで問題を抱えています。select クエリを約 450 回実行すると、平均して各クエリに 0.52 秒かかります。
ただし、MySQL を介して実行すると、クエリごとに約 1.7 ミリ秒かかります。
これをどのように最適化してMySQL時間を打ち負かすことができますか? 「=」の代わりに「IN」句を使用し、d、e の上に「a」を追加で選択する必要がありますか? 例えば:
SELECT a,d,e FROM `myTable` WHERE a IN ('myString1','myString2'.... etc )