Обновление моих попыток реализовать таблицу из 505 000 000 строк в MySQL на моем MacBook Pro:
Следуя данному совету, я разбил свою таблицу, tr:
i UNSIGNED INT NOT NULL,
j UNSIGNED INT NOT NULL,
A FLOAT(12,8) NOT NULL,
nu BIGINT NOT NULL,
KEY (nu), key (A)
с диапазоном по ну. НУ должно быть действительным числом, но потому что у меня есть только 6-дневная. точность и максимальное значение nu равно 30000. Я умножил его на 10 ^ 8, сделав его БОЛЬШИМ - я понимаю, что нельзя использовать значения FLOAT или DOUBLE, чтобы РАЗДЕЛИТЬ таблицу MySQL. В любом случае, у меня 15 разделов (p0: nu <25 000 000 000, p1: nu <50 000 000 000 и т. Д.).
Я думал, что это должно ускорить типичный для SELECT: </p>
SELECT * FROM tr WHERE nu>95000000000 AND nu<100000000000 AND A.>1.
к порядку того же запроса в таблице, состоящей только из данных в соответствующем разделе (<30 секунд). Но требуется 30 минут +, чтобы вернуть строки для запросов в пределах раздела, и удвоить его, если запрос предназначен для строк, охватывающих два (смежных) раздела.
Я понимаю, что мог бы просто иметь 15 разных таблиц и запрашивать их отдельно, но есть ли способ сделать это «автоматически» с разделами? У кого-нибудь есть предложения? </p>