Сейчас мы используем базу данных MySQL версии 5.1.72. Это не кластерная база данных, а обычная. 64-разрядный («mysql Ver 14.14 Distrib. 5.1.72 для sun-solaris2.11 (x86_64) с использованием readline 6.3»). Мы используем выделенные серверы, а не избыточное облачное решение. Я испытал, что чем больше клиентов, мы втиснуть в нашу платформу, тем больше проблем, которые мы получаем сВыбор базы данных
2016-02-15 13:26:36,737 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 1205, SQLState: 41000>
2016-02-15 13:26:36,737 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Lock wait timeout exceeded; try restarting transaction>
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not insert: [com.marin.core.server.model.TableName]
Может переключиться на другую базу данных нам помочь? Или, может быть, просто кластерная версия MySQL? В некоторых таблицах есть миллионы строк. Самая большая таблица имеет размер около 5 ГБ. В нем много индексов.
Но если у вас есть автоинкрементный первичный ключ одного столбца, он всегда будет иметь индекс. –
Этот индекс полезен, только если у вас есть этот 'id' для поиска. Если вместо этого вам нужно выбрать 'name',' id' бесполезен. –
Многие таблицы имеют составной ПК, но у многих есть автоинкрементный столбец с одним столбцом. Есть и другие, которые имеют индексы на отдельных столбцах, которые не являются частью ПК. –