Производительность была плохой из-за неправильного дизайна базы данных. Я использую mysql, и таблица имела такую схему:
+-------------+--------------------------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------------------------------+------+-----+-------------------+-----------------------------+
| fk_category | smallint(6) | NO | PRI | NULL | |
| method | enum('min','max','avg','sum','none') | NO | PRI | none | |
| time | timestamp | NO | PRI | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| value | float | NO | | NULL | |
| accuracy | tinyint(1) | NO | | 0 | |
+-------------+--------------------------------------+------+-----+-------------------+-----------------------------+
Ошибка была неверна. После добавления первичного ключа с несколькими столбцами все мои запросы бывают быстрыми:
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| job | 0 | PRIMARY | 1 | fk_category | A | 18 | NULL | NULL | | BTREE | | |
| job | 0 | PRIMARY | 2 | method | A | 18 | NULL | NULL | | BTREE | | |
| job | 0 | PRIMARY | 3 | time | A | 452509710 | NULL | NULL | | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Спасибо за все ваши ответы!
Производительность плохо в каком смысле? Вставляя? Выбор? Если вы не предоставите некоторые варианты использования (т. Е. Проблемные запросы), никто никогда не сможет дать осмысленный ответ ... – CAFxX
Можете ли вы, пожалуйста, что вы на самом деле имеете в виду «Эффективность - это действительно плохо». Миллионы вставок не должны быть проблемой для mysql. Что вы действительно пытаетесь сделать с данными - это таблица? –