У меня проблема с очень медленным соединением между моим кодом Java и базой данных MySQL. Я не знаю, где находится горлышко бутылки.
Моя программа более или менее чатбот. Пользователь вводит что-то, моя программа разбивает предложение на слова и отправляет это слово за словом в базу данных. Если он что-то там находит, пользователь получает вывод.
База данных находится на внешнем сервере, но я также попытался подключиться к ПК рядом со мной. Оба медленно.
Я попробовал соединение один раз в другом месте, где я обычно работаю, и там это было быстро, большую часть времени.
Мой код SQL:
ВЫБРАТЬ инфо. ИНФОРМАЦИЯ ИЗ ИНФОРМАЦИИ инфо, INFO_SCHLUESSEL sch
WHERE LCASE (sch.SCHLUESSELWORT) LIKE '"+ input +"%' AND info.ID_INFO = sch.ID_INFO
Заказать по info.PRIORITAET DESC LIMIT 1;
(только что вспомнил, если это помогает понять код sql:
schluessel = ключ
Schluesselwort = ключевое слово
приоритет = приоритет)
Мой код базы данных Java - более или менее стандартный материал:
String driver = "com.mysql.jdbc.Driver";
String dbase = "jdbc: mysql: // bla";
String dbuser = "bla";
String dbpw = "bla";
Class.forName (драйвер);
Соединение con = DriverManager.getConnection (dbase, dbuser, dbpw);
Оператор stmt = con.createStatement ();
ResultSet rs = stmt.executeQuery (запрос);
while (rs.next ())
{
ergebnis = rs.getString ("info.INFORMATION");
}
* +1037 * rs.Close ();
stmt.close ();
con.close ();
редактировать:
Я уже некоторое время пробовал этот DBCP, и я не могу заставить его работать. Кажется, это так же медленно, как старое соединение. Вот пример, предоставленный веб-сайтом, которым я пользуюсь:
GenericObjectPool connectionPool = new GenericObjectPool (null);
ConnectionFactory connectionFactory = новый DriverManagerConnectionFactory ("jdbc: mysql: // bla", "bla", "bla");
PoolableConnectionFactory poolableConnectionFactory = новый PoolableConnectionFactory (connectionFactory, connectionPool, null, null, false, true);
Драйвер PoolingDriver = новый PoolingDriver ();
driver.registerPool ( "пример", connectionPool); * * тысяча пятьдесят-дв
Соединение conn = DriverManager.getConnection ("jdbc: apache: commons: dbcp: example");