Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SQL DB的Java程序的资源注意事项_Java_Sql_Performance_Jdbc_Database Performance - Fatal编程技术网

使用SQL DB的Java程序的资源注意事项

使用SQL DB的Java程序的资源注意事项,java,sql,performance,jdbc,database-performance,Java,Sql,Performance,Jdbc,Database Performance,我对编程相当陌生,至少在涉及实质性内容时是这样。我即将开始为我的雇主开发一个管理软件,它从SQL数据库中提取数据,并将数据存储到SQL数据库中。我可能会使用JDBC与之交互 为了尝试并准确地描述这个问题,我将把重点放在程序的一小部分上。在数据库中,有一个表存储作业记录。有几千个。我想在带有搜索功能的程序中的可滚动面板中显示所有可用的作业(作为表中的文本引用) 所以,我的问题是。。。我应该一次从每条记录创建Job对象,并让程序处理这些对象来显示它们,还是直接显示从记录中提取的字符串?第一种方法意味

我对编程相当陌生,至少在涉及实质性内容时是这样。我即将开始为我的雇主开发一个管理软件,它从SQL数据库中提取数据,并将数据存储到SQL数据库中。我可能会使用
JDBC
与之交互

为了尝试并准确地描述这个问题,我将把重点放在程序的一小部分上。在数据库中,有一个表存储
作业
记录。有几千个。我想在带有搜索功能的程序中的可滚动面板中显示所有可用的
作业
(作为表中的文本引用)

所以,我的问题是。。。我应该一次从每条记录创建
Job
对象,并让程序处理这些对象来显示它们,还是直接显示从记录中提取的字符串?第一种方法意味着每个作业的其他详细信息都存储在advanced中,因此当我在UI中打开记录时,加载时间应该是最小的,然而,听起来它在最初填充面板并生成对象时会占用大量资源。第二种方法意味着向数据库发出大量查询,但可能会避免最初的资源开销,但我不想给SQL Server带来太大的压力,因为其他内部软件都依赖它

真的,我不知道该怎么做。但这确实是我的问题。如果我在这篇文章中表现出我的无知,我深表歉意,并感谢您提供的任何帮助。

对于现代计算机来说,“几千”是一个非常小的数字。如果您可以对这些记录执行任何类型的逻辑(它们并非仅通过存储过程进行修改),那么使用对象关系映射(ORM)工具(如Hibernate)将更容易。查看JPA规范,它允许您创建表示数据库对象的Java类,然后简单地对它们进行注释,以描述它们在数据库中的存储方式。使用像这样的ORM系统确实会有一些开销,但几乎总是值得的,因为计算机速度快,程序员费用昂贵


注:这是一个具体的例子,说明你应该以最清晰、最容易理解的方式做事,除非你有非常具体的理由不这样做,特别是,除非您已经测量了程序的性能并确定了代码的特定部分导致了问题,否则不应该对速度进行优化。使用使代码易于理解的抽象,如果您确实需要加快速度,请稍后返回。

我认为为每个记录创建
作业
对象是更好、更灵活的设计标准。另外,我知道您对
JDBC
感兴趣,但我是通过
JPA
发现的(如果您有太多的工作要映射
JPA
可能是选择)