一些简单的数据库优化

优化方式有几种,一种是查询的时候尽量减少数据库占用,减少对表和字段的查询次数,比如少用“ * ”,一种是DML操作的时候尽量不要一次性出现大量事务,减少事务占用资源。还有就是善用索引。

1.查询语句中可以用“*”来列出某个表的所有列名,但是这样的写法对Oracle系统来说会存在解析的动态问题。Oracle系统会通过查询数据字典来将“*”转换成表的所有列名,这自然会消耗系统时间。建议用户在写SELECT语句时,采用与访问表有关的实际列名。

2.多用commit提交事务,减少事务占用资源。写SQL时,经常将几个相互联系的DML语句写在一个BEGIN…END块中,如果在每个执行块的END前面COMMIT掉,这样就可以实现对DML语句的及时提交,同时也释放事务所占用的资源。 COMMIT所释放的资源如下:

(1)回滚段上用于恢复数据的信息,撤销表空间也只做短暂的保留

(2)被程序语句获得的锁

(3)redo log buffer中的空间

(4)Oracle为管理上述资源的内部花费

3.减少表的查询次数,函数择优而用。

比如当某个表id为主键的时候,count(id)肯定比count(*)好用。条件符合的话,exists肯定比in好用。删除表全部数据的时候,truncate肯定比delete好用(truncate不可回滚,慎用)。

4.善用索引。

索引就相当于一本书的页码目录

(具体怎么用直接看百度百科了)

https://baike.baidu.com/item/%E7%B4%A2%E5%BC%95/5716853?fr=aladdin

posted @ 2018-06-19 10:35  倾杯倒月  阅读(161)  评论(0编辑  收藏  举报