Здравствуйте,
при создании очередной записи, выходит ошибка.
Database Error: 1069 - Too many keys specified; max 64 keys allowed
Query: ALTER TABLE app_entity_204 ADD INDEX idx_field_4756 (field_4756(128));
Page: /index.php?module=entities/fields&action=save&id=4756&token=R37PVtjr40
#0 includes/functions/database.php(99): mysqli_query()
#1 includes/classes/model/entities.php(554): db_query()
#2 includes/classes/model/fields.php(498): entities::prepare_field_index()
#3 modules/entities/actions/fields.php(158): fields::check_if_type_changed()
#4 index.php(31): require('...')
#5 {main}
В таблице app_entity_204, базы данных Rukovoditel, по команде SHOW INDEX FROM app_entity_204 видно, что присутствует максимальное количество записей, все 64 записи.
Каким образом или в каком конфиг файле можно увеличить возможность делать в таблице больше записей, назначив большее количество количество индексов.
Тип баз данных innodb.
Благодарю
Ограничение записей в SQL
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Ограничение записей в SQL
Это я так понимаю при создании поле для сущности?
Дело в том, что при создании некоторых полей автоматически создается индекс для этого поля. Это делается специально, чтоб ускорить поиск по этому полю.
Увеличит количество индексов можно в настройках базы на вашем сервере, если у вас выделенный сервер. Если нет, то увеличит не получится. Не создавайте такую большую таблицу, разбейте данные на несколько таблиц.
Дело в том, что при создании некоторых полей автоматически создается индекс для этого поля. Это делается специально, чтоб ускорить поиск по этому полю.
Увеличит количество индексов можно в настройках базы на вашем сервере, если у вас выделенный сервер. Если нет, то увеличит не получится. Не создавайте такую большую таблицу, разбейте данные на несколько таблиц.
-
Artyom
- Сообщения: 38
- Зарегистрирован: 19 янв 2021, 14:16
- Имя: Artyom Melkikyan
- Откуда: Armenia, Yerevan
Re: Ограничение записей в SQL
Да сервер выделенный, скажите пожалуйста требуются ли особые параметры в настройках базы key_buffer_size, innodb_buffer_pool_size, innodb_additional_mem_pool_size, innodb_log_file_size, table_cache, и т.д, во избежание перегрузок в приложении?
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Ограничение записей в SQL
Если будет медленно работать, можно и увеличить.
-
alexinc
- Сообщения: 422
- Зарегистрирован: 03 мар 2022, 21:40
- Имя: Alex
- Откуда: Россия
- Контактная информация:
Re: Ограничение записей в SQL
выдержка из документации:Artyom писал(а): 26 июн 2025, 08:51 Здравствуйте,
при создании очередной записи, выходит ошибка.
Database Error: 1069 - Too many keys specified; max 64 keys allowed
Query: ALTER TABLE app_entity_204 ADD INDEX idx_field_4756 (field_4756(128));
Page: /index.php?module=entities/fields&action=save&id=4756&token=R37PVtjr40
#0 includes/functions/database.php(99): mysqli_query()
#1 includes/classes/model/entities.php(554): db_query()
#2 includes/classes/model/fields.php(498): entities::prepare_field_index()
#3 modules/entities/actions/fields.php(158): fields::check_if_type_changed()
#4 index.php(31): require('...')
#5 {main}
В таблице app_entity_204, базы данных Rukovoditel, по команде SHOW INDEX FROM app_entity_204 видно, что присутствует максимальное количество записей, все 64 записи.
Каким образом или в каком конфиг файле можно увеличить возможность делать в таблице больше записей, назначив большее количество количество индексов.
Тип баз данных innodb.
Благодарю
https://dev.mysql.com/doc/refman/8.0/en ... imits.html
Так что только пересборка из исходников.
-
Artyom
- Сообщения: 38
- Зарегистрирован: 19 янв 2021, 14:16
- Имя: Artyom Melkikyan
- Откуда: Armenia, Yerevan
Re: Ограничение записей в SQL
Ладно, спасибо