数据库查询 *** 作在各种数据库 *** 作中所占据的比重最大,而查询 *** 作所基于的select语句在SQL语句中又是代价最大的语句。举例来说,如果数据的量积累到一定程度,比如一个银行的账户数据库表信息积累到上百万甚至上千条记录,全表扫描一次往往需要数十分钟,甚至数小时。如果采用比全表扫描更好的查询策略,往往可以使查询时间降为几分钟,由此可见查询优化技术的重要性。
例如:
1、尽可能建立索引,包括条件列,连接列,外键列等。
2、尽可能让where中的列顺序与复合索引的列顺序一致。
3、尽可能不要select
,而只列出自己需要的字段列表。
4、尽可能减少子查询的层数。
5、尽可能在子查询中进行数据筛选
。
数据库性能优化主要包括以下几个方面:
1、sql语句的执行计划是否正常;
2、减少应用和数据库的交互次数、同一个sql语句的执行次数;
3、数据库实体的碎片的整理;
4、减少表之间的关联,特别对于批量数据处理,尽量单表查询数据,统一在内存中进行逻辑处理,减少数据库压力;
5、对访问频繁的数据,充分利用数据库cache和应用的缓存;
6、数据量比较大的,在设计过程中,为了减少其他表的关联,增加一些冗余字段,提高查询性能。
在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。
系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。
以上就是关于数据库查询优化的策略有哪些全部的内容,包括:数据库查询优化的策略有哪些、工作中常用的几种sql优化技巧、数据库性能优化主要包括哪些方面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)