我的Java代码和MySQL数据库之间的连接速度非常慢,这是一个问题。我不知道瓶颈在哪里。
我的程序或多或少是一个聊天机器人。用户输入内容后,我的程序将句子分解为单词,然后将每个单词的单词发送到数据库。如果在该处找到了某些内容,则用户将获得输出。该数据库位于外部服务器上,但我也尝试连接到我旁边的PC。两者都很慢。
我通常在另一个工作正常的地方尝试了一次连接,而且在大多数情况下都很快。
我的SQL代码:
从信息信息中选择info.INFORMATION,例如INFO_SCHLUESSEL sch LASE
(sch.SCHLUESSELWORT)’“ +输入+”%“ AND info.ID_INFO = sch.ID_INFO通过
info.PRIORITAET DESC LIMIT 1进行订购;
(请记住,如果它有助于理解SQL代码:
schluessel = key
Schluesselwort =关键字
prioritaet =优先级)
我的Java数据库代码或多或少是标准的东西:
字符串驱动程序=“ com.mysql.jdbc.Driver”;
html" target="_blank">字符串dbase =“ jdbc:mysql:// bla”;
字符串dbuser =“ bla”;
字符串dbpw =“ bla”;Class.forName(驱动程序);
连接con = DriverManager.getConnection(dbase,dbuser,dbpw);
语句stmt = con.createStatement();ResultSet rs = stmt.executeQuery(query);
while(rs.next())
{
ergebnis = rs.getString(“ info.INFORMATION”);
}rs.close();
stmt.close();
con.close();
编辑:
我已经尝试了这个DBCP一段时间了,但似乎无法正常工作。它似乎和旧的连接一样慢。这是我使用的网站提供的示例:
GenericObjectPool connectionPool =新的GenericObjectPool(null);
ConnectionFactory connectionFactory =新的DriverManagerConnectionFactory(“
jdbc:mysql:// bla”,“ bla”,“ bla”);
PoolableConnectionFactory poolableConnectionFactory
=新的PoolableConnectionFactory(connectionFactory,connectionPool,null,null,false,true);
PoolingDriver驱动程序=新的PoolingDriver();
driver.registerPool(“ example”,connectionPool);
连接conn = DriverManager.getConnection(“ jdbc:apache:commons:dbcp:example”);
我怀疑是导致问题的连接设置。需要花多长时间来计时:
Connection con = DriverManager.getConnection(dbase, dbuser, dbpw);
如果是这样,请查看Apache Commons
DBCP
,它允许您合并数据库连接。
问题内容: 已锁定 。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 Java 因其速度慢而享有一定的声誉。 Java真的很慢吗? 如果是,为什么?瓶颈在哪里?是因为JVM效率低下吗?垃圾收集?纯字节码库而不是JNI包装的C代码?许多其他语言都具有这些功能,但是它们并没有因速度慢而享有盛誉。 问题答案: 现代Java是最快的语言之一,即使它仍然是内存消耗大的
问题内容: (重要)编辑3: 单独运行testajax2.php而 _不是_Ajax。持续时间大致相同,为1.02-1.03秒。所以我想这意味着问题出在PHP- MySQL或XAMPP中? 当我通过phpMyAdmin查询运行它时,结果如下:显示第0-29行(总计约50行。查询用时 0.0015秒 )。看来问题根本不在于Ajax,而可能在于PHP。我怎样才能解决这个问题?(我也刚刚编辑了问题标题。
我正试图使用Tweepy从twitter流推一个特定的标签。我面临的问题是,获取500条推文大约需要10-15分钟。我认为不应该这么慢?我错过了什么吗?它与API比率限制有关吗?我的tweepy监听器看起来像这样: class MyListener(StreamListener):" " "流数据的自定义StreamListener。"""
问题内容: 我有两张桌子。一个是在用户ID上带有主键的User表,另一个是使用外键引用该用户表的表。 “用户”表仅具有一个条目(目前),而另一个表则具有一百万个条目。 以下联接使我发疯: 在速度非常快的计算机上,查询耗时12秒,而排序的时间为0.0005秒,而没有排序的时间为0.0005秒。 我在user_id(IDX_14B78418A76ED395)上有一个索引,在user_id和upload
问题内容: 我有一个〜8GB的大文本文件,我需要进行一些简单的过滤,然后对所有行进行排序。我使用的是28核计算机,具有SSD和128GB RAM。我努力了 方法1 方法2 令人惊讶的是,方法1仅需11.5分钟,而方法2仅需(0.75 + 1 <2)分钟。为什么通过管道传输时排序如此缓慢?它不是平行的吗? 编辑 而且并不重要,这个实验可以简单地通过使用(由于@Sergei Kurenkov)而重复进