一些简单的数据库优化
优化方式有几种,一种是查询的时候尽量减少数据库占用,减少对表和字段的查询次数,比如少用“ * ”,一种是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