Ограничить общее количество записей, отображаемых в Datatable - PullRequest
1 голос
/ 07 марта 2019

У меня есть таблица истории с 3700000+ записей. Я использую обработку на стороне сервера в datatable для первоначального отображения 25 записей. Первоначальная загрузка таблицы данных занимает много времени, даже если запрос выбирает только 25 записей.

Я использую базу данных MySQL. Теперь я хочу ограничить общее количество записей, из которых должны обрабатываться данные. Я хочу, чтобы рассматривались только записи за последние 15 дней.

Есть ли способ быстро загрузить таблицу?

1 Ответ

0 голосов
/ 07 марта 2019

Существует несколько способов ограничить объем данных, возвращаемых из SQL-запроса.

Использование WHERE позволит вам выбирать записи только после определенной даты.

$sql = "SELECT * FROM history WHERE date > ".strtotime("-15 days");

Приведенный выше запрос предполагает, что в вашей базе данных истории есть дата, которая является меткой времени на основе Unix. Другой способ ограничить объем возвращаемых данных - использовать функцию LIMIT.

$sql = "SELECT * FROM history ORDER BY id DESC LIMIT 15";

В этом запросе предполагается, что у вас есть только одна запись в день, и будет отображаться только 15 записей.

Наряду с этим, если в вашей таблице истории есть много данных, которые не нужно использовать, то вы можете выбрать только нужные вам столбцы, выполнив что-то вроде этого:

$sql = "SELECT id, time, name FROM history";
...