![]()  | 
		
Задавайте вопросы, мы ответим
Вы не зашли.
Всем добрый день.
Есть такая таблица.
Отредактированно rugo (05.03.2023 10:52:56)
Неактивен

Для первого запроса нужен индекс (`sensor_id`,`timestmp`,`val`)
Желательно, чтобы innodb_buffer_pool_size вмещал данные и индексы или активно использующуюся часть данных.
Неактивен

3. Зависит от того:
-) Сколько требуется на нахождение нужных записей (размер таблицы, подходящие индексы)
-) Сколько выбирается (кол-во записей, размер каждой записи)
4. Какая версия?
Разбить на десять запросов не эквивалентно исходному, т.к. общий результат отсортирован по timestmp
В случае десяти отдельных запросов их выборки нужно будет складывать и сортировать отдельно.
timestamp занимает в два раза меньше места. Явно эффект проявится, когда буфера будет не хватать.
Неактивен
vasya написал:
Для первого запроса нужен индекс (`sensor_id`,`timestmp`,`val`)
.
Сделал индекс на три колонки, стало чуть побыстрее (вместо 15с - 10с).
И вообще с индексами на sensor_id и timestmp интересная картина. Без них и с ними запрос 15с.
vasya написал:
Желательно, чтобы innodb_buffer_pool_size вмещал данные и индексы или активно использующуюся часть данных.
.
Делаю innodb_buffer_pool_size=1G (или 4G), перезапускаю сервис - результаты запросов те же самые. 
vasya написал:
4. Какая версия?
.
mysql> status;
--------------
mysql  Ver 8.0.32-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
Connection id:        10
Current database:    
Current user:        root@localhost
SSL:            Not in use
Current pager:        stdout
Using outfile:        ''
Using delimiter:    ;
Server version:        8.0.32-0ubuntu0.22.04.2 (Ubuntu)
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:        /var/run/mysqld/mysqld.sock
Binary data as:        Hexadecimal
Uptime:            44 sec
Threads: 2  Questions: 21  Slow queries: 1  Opens: 147  Flush tables: 3  Open tables: 65  Queries per second avg: 0.477
Неактивен