`

项目失败与数据库

阅读更多

1。SQL语句对系统的影响非常大,可以会因为一条sql语句而对项目造成巨大的影响。——例如使用statement而非preparestatement插入大数据量。

数据库项目失败原因:

      1、常常是因为对数据库认识的不足。如前期使用Hibernate经常会发生效率问题。将开发人员与数据库进行了分隔。
       2、要对数据库的原理有充分的认识(如:表以及索引的设计)
    例如:如选择char或varchar字段!(时间和空间)   索引有很多种……
       3、项目往往是与数据库“耦合”的。无法做到同一条sql语句在所有的数据库中都能够运行良好。(数据库存在方言:1、日期函数、2转换函数、3、分页 4、锁机制…)
       4、数据量比较大的容易产生性能问题。
       6、由于业务上的原因,会产生很多“垃圾”数据,这些数据经常也会影响到一个系统的正常运行。

 

 

数据库开发注意事项
1、在OLTP(在线事务处理,以增删改查为主的业务系统)中要使用绑定变量,在JDBC中要使用预编译SQL。
2、在公司,禁止在jdbc中使用默认的AutoCommit
3、如果是大数据量导入,要使用Oracle的专门的工具(如sqlloader)
4、尽量使用一个sql处理
5、尽量用数据库约束来完成数据较验。如果需要提示业务异常,可以考虑使用触发器
6、在OLTP中尽量避免大事务(类似于全表操作)
7、尽量避免分表设计
8、不要在选择率不高的字段上建索引
9、多条件查询(where deptno=? and empno=? and sal=?),要与索引的顺序(create index indx_all on emp(deptno,empno,sal))保持一致
10、小表上不用建索引
11、计算列使用不了索引——select * from emp where upper(ename)=?则 create index index_ename on emp(ename) 用不到
12、避免索引字值数据类型转换
13、不要在子查询中执行order by
14、尽快commit或rollback,可以减少锁定。——update emp set sal=1000 where empno=1000;==select * from emp where empno=1000 for update;
15、清空表用truncate命令。
16、正确使用数据库的连接——当sql执行失败时,也要保证关闭连接;不要频繁的连接和关闭数据库,除非使用了连接池;一定要使用连接池

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    人事管理的java项目,要连接数据库

    7. **异常处理**:在与数据库交互时,可能会出现各种异常,如连接失败、SQL执行错误等。因此,良好的异常处理机制是必要的,可以确保程序在出现问题时能正确地恢复或给出有用的错误信息。 8. **MVC(Model-View-...

    测试项目在数据库单元测试中的应用

    3. 实现测试代码:在C#测试项目中编写测试方法,使用***、Entity Framework或其他数据库访问技术与数据库交互,并编写断言来验证数据库操作的正确性。 4. 运行测试:执行测试用例并观察测试结果。如果测试未通过,...

    TD项目数据库创建问题

    TD项目数据库创建过程中可能会遇到各种问题,例如数据库连接失败、安装配置不当等。本文将根据提供的信息,详细探讨TD项目数据库创建的相关知识点,包括安装前的环境配置、安装过程中的注意事项以及安装后的配置调整...

    MyQQ项目+SQL数据库 源码

    6. **上线、离线、隐身状态**:这是即时通讯应用的基本特性,用户可以设置自己的在线状态,项目中可能需要实现状态同步和更新,这与网络编程和实时通信技术有关。 7. **右键查看好友信息**:这需要在用户界面上实现...

    数据库连接eclipse“用户登录失败”

    本文主要针对使用Eclipse开发环境时遇到的“用户登录失败”问题进行详细分析与解决。通常这类问题可能出现在连接SqlServer数据库时,尤其是在服务器配置不当的情况下更为常见。 #### 问题描述 当尝试通过Eclipse...

    JAVA与数据库连接

    在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用和服务器端开发中占据了重要地位。...在实际项目中,根据具体需求选择合适的数据库和连接方式,以及优化数据库访问策略,是提高系统性能的关键。

    JEECG切换数据库方法

    - 第三步,编辑 `spring-minidao.xml` 文件,针对新的数据库选择合适的DataSource配置,并设置事务管理器,以确保应用的事务处理能够正确地与新的数据库交互。 以上操作完成后,需要重新部署JEECG应用到服务器上,...

    Visual C#数据库项目案例源码

    在本压缩包中,我们关注的是“Visual C#”编程语言与数据库交互的项目案例源码。Visual C#是微软开发的一种面向对象的编程语言,它在.NET框架下运行,常用于开发Windows桌面应用、Web应用以及游戏等。在数据库项目中...

    javaee长包房项目+数据库文件

    在长包房项目中,可能通过代理类来处理与真实对象(例如房间资源)的交互,比如在预订房间时,代理类可以负责验证、计费等额外操作,而实际的房间对象只负责存储和提供房间信息。 2. **原型模式**:原型模式属于...

    android连接本地数据库的小项目,安全演练

    这个项目是一个很好的学习平台,通过实际操作,开发者可以深入理解Android与SQLite数据库的集成,同时强化对数据安全的最佳实践。完成这个小项目后,开发者将具备在Android应用中管理本地数据库的基础能力。

    c#数据库项目

    在C#数据库项目中,开发者通常利用.NET框架和C#语言与各种数据库系统进行交互,如SQL Server、MySQL、Oracle或SQLite等。本项目可能是基于一个基础的数据库应用实例,涵盖了从设计数据库模型到实现CRUD(创建、读取...

    ExcelVBA与数据库整合应用范例

    通过《Excel VBA与数据库整合应用范例》的学习,你不仅可以掌握VBA编程技巧,还能了解如何高效地利用Excel和数据库进行数据管理,这对于数据分析、项目管理和业务自动化等领域的工作大有裨益。记得实践是检验真理的...

    python 连接达梦数据库

    例如,可能会出现连接失败、权限问题等。可以通过查看达梦数据库的文档和社区支持来解决这些问题。 扩展 Python 连接达梦数据库可以用于各种应用程序,例如,使用 Django 进行网站开发,使用 Python 做后端。可以...

    Visual+C++与数据库管理

    AfxMessageBox("数据库连接失败!"); } else { db.Close(); } ``` 以上就是Visual C++与数据库管理的一些核心知识点。通过学习和实践,开发者可以利用C++的强大功能,结合ODBC、OLE DB或MFC,创建高效、可靠的...

    C项目附加SQL数据库打包.pdf

    - 在“视图”->“自定义操作”中,添加自定义操作,将`InstallDB`项目的主输出与安装过程关联,并设置`CustomActionData`属性以传递参数。 6. **参数传递**: - `CustomActionData`属性的格式用于传递数据库连接...

    C#数据库编程实例大全,包括22个经典例子

    C#与数据库的交互主要通过ADO.NET(Microsoft的数据访问技术)来实现,它提供了丰富的类库用于连接、查询、更新和管理数据库。 首先,要理解C#中如何连接到数据库。通常,我们使用SqlConnection类来创建数据库连接...

    数据库项目组日常运维及应急故障处理手册.docx

    【数据库项目组日常运维及应急故障处理】 在数据库运维中,常常会遇到各种问题,如CPU使用率过高、数据库无法连接、CRS/GI启动失败、数据库响应慢以及数据误删除等。以下是对这些常见问题的处理策略: 1. **CPU...

    TreeView与数据库关联

    最后,`delphifans.com.nfo`和`treeview例子`可能是相关教程或示例代码,你可以查阅它们来深入了解如何在实际项目中实现TreeView与数据库的关联。通过学习和实践,你将能够熟练地在Delphi应用程序中创建具有数据库...

    JavaEE项目DB2数据库连接jar包

    为了在JavaEE项目中与DB2进行交互,我们需要引入特定的jar包来提供数据库连接支持。本资源提供了完整的DB2数据库连接jar包,这将帮助开发者快速地集成DB2数据库到他们的应用程序中。 首先,让我们深入了解一下...

    Win 7 下使用VC6.0注册数据库控件失败的解决办法。

    Win 7 下使用 VC6.0 注册数据库控件失败的解决办法 在 Win 7 环境下使用 VC6.0 进行数据库程序开发时,可能会遇到注册数据库控件失败的问题。本文将对这个问题进行详细的解决办法介绍。 知识点一:VC6.0 中的...

Global site tag (gtag.js) - Google Analytics