我在 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
现在我需要运行一个选择查询 450 次,每次使用不同的 'a' 时都会使用这样的约束:
SELECT d,e FROM `myTable` WHERE a = 'myString';
目标是加快调用所有查询的总时间。但我有问题。当我运行选择查询大约 450 次时,平均每个查询需要 0.52 秒!
然而,当我通过 MySQL 运行它时,每个查询大约需要 1.7 毫秒!
我该如何优化它以击败 MySQL 时间?是否需要我使用 'IN' 子句,而不是 '=' 并在 d,e 之上额外选择 'a'?例如:
SELECT a,d,e FROM `myTable` WHERE a IN ('myString1','myString2'.... etc )