关于数据库执行效率的问题

问题描述

有时候为了方便我们不得不写一些函数,但是最近发现函数的执行效率似乎不是很乐观,如果不用函数,该用子查询的话,效率会有所提升吗?系统要上线了,需要对以前的东西优化一下,我觉得数据库这块问题比较大,所以希望各位大大给点建议,数据库优化主要从哪几方面着手呢? 问题补充:蔡华江 写道

解决方案

有可能。如果在函数与子查询中选择的话,最好还是使用子查询。因为函数可能会影响到索引的使用,而子查询虽然也可能,但是由于数据库解析时的优化处理,也许能用得着索引。
解决方案二:
我个人的经验:函数和子查询在很多时候都会影响效率,最好能优化查询SQL,或者采用过程写临时表,然后查询临时表,或者用视图,这些手段的效率也不是一定的,还要看实际情况,每种情况都试一下,看看效率差别有多大。

时间: 2024-11-08 18:27:11

关于数据库执行效率的问题的相关文章

SQL教程:提高SQL执行效率的几点建议

提高SQL执行效率的几点建议: ◆尽量不要在where中包含子查询; 关于时间的查询,尽量不要写成:where to_char(dif_date,'yyyy-mm-dd')=to_char('2007-07-01','yyyy-mm-dd'); ◆在过滤条件中,可以过滤掉最大数量记录的条件必须放在where子句的末尾; FROM子句中写在最后的表(基础表,driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有三个以上的连接查询,

学习ASP技巧:提高ASP页面的执行效率

技巧|页面|执行 导言 改善程序性能是一件很微妙的事情.尤其是和INTERNET相关的程序,像ASP程序,制约其性能的因素很多,像WEB服务器.TCP/IP网络和数据库服务器等.这些大都是与硬件相关.其实在软件上,好的程序设计的方法和正确的参数配置也可以提高程序的性能,有时在同等情况下只要改变一个参数,程序执行效率就能大大提高.本文就试着在这方面做些探索. 一.影响性能的因素 ASP程序运行的性能主要决定于以下2个大方面: 1.HTML页面的执行效率 2.反应时间,其中反应时间主要受制于下面要素

提高ASP页面的执行效率

页面|执行 导言 改善程序性能是一件很微妙的事情.尤其是和INTERNET相关的程序,像ASP程序,制约其性能的因素很多,像WEB服务器.TCP/IP网络和数据库服务器等.这些大都是与硬件相关.其实在软件上,好的程序设计的方法和正确的参数配置也可以提高程序的性能,有时在同等情况下只要改变一个参数,程序执行效率就能大大提高.本文就试着在这方面做些探索. 一.影响性能的因素 ASP程序运行的性能主要决定于以下2个大方面: 1.HTML页面的执行效率 2.反应时间,其中反应时间主要受制于下面要素: (

探讨一下rs(0)和rs(fieldname)的执行效率

事实已证明了用索引数(index number)访问记录集元素要比用字段名称(field name)快出几倍.按字符串查询要比按整数查询花去更多的时间和系统资源.因此,在遍历数据库时应注意下面的两个问题:    1.尽量最少使用select * 这样的语句      在遍历某表里少量的字段时,select * 语句的执行效率是很低的,因为在执行这样的语句的时候其实执行了两次查询,在执行select语句前,首先必须查询系统表来确定名称和数据类型.    2.在使用记录集rs值前,应该把它赋值给本地

提高ASP页面的执行效率(上)

导言 改善程序性能是一件很微妙的事情.尤其是和INTERNET相关的程序,像ASP程序,制约其性能的因素很多,像WEB服务器.TCP/IP网络和数据库服务器等.这些大都是与硬件相关.其实在软件上,好的程序设计的方法和正确的参数配置也可以提高程序的性能,有时在同等情况下只要改变一个参数,程序执行效率就能大大提高.本文就试着在这方面做些探索. 一.影响性能的因素 ASP程序运行的性能主要决定于以下2个大方面: 1.HTML页面的执行效率 2.反应时间,其中反应时间主要受制于下面要素: (1).ASP

对提高ASP执行效率的几点看法

执行 对提高ASP执行效率的几点看法:<br><br>1.硬件问题:<br>服务器的设置和配置无疑是ASP执行速度的最主要决定因素,但有关这方面的问题与MiMi有关,无需罗嗦.<br><br>2.避免在一个页面中是用多种脚本语言<br>如:<script language="vbs">和<script language="javascript"><br>因为如

使用参数化和块语句来提高批处理SQL语句的执行效率

如果你的项目要求你的程序对高达几万条的数据在集中的时间内执行固定序列的操作,且不能完全使用存储过程时而需要使用程序来执行时.会需要这些优化. 我们知道,SQL服务器对一条语句的执行,需要分析.编译.执行这些步骤,通过参数化我们可以对一种命令只分析和编译一次,而执行多次,从而提高效率.在执行时,如果每次提交语句,可以完成多条SQL语句,则可以减少通讯时间,也可以提高效率. 通过 System.Data.IDbCommand.Prepare() 方法,我们可以在第一次执行语句时,分析和编译SQL语句

提高SQL执行效率的几点建议

提高SQL执行效率的几点建议: 尽量不要在where中包含子查询; 关于时间的查询,尽量不要写成:where to_char(dif_date,'yyyy-mm-dd')=to_char('2007-07-01','yyyy-mm-dd'); 在过滤条件中,可以过滤掉最大数量记录的条件必须放在where子句的末尾; FROM子句中写在最后的表(基础表,driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有三个以上的连接查询,那就

php-同样的sql,用PHP执行效率很低

问题描述 同样的sql,用PHP执行效率很低 同一个sql语句,用navicat直接执行只要0.03秒,而用php执行多次超过5秒. 重启apache和mysql后,无明显改变,请问可能是哪里出的问题? $sql="SELECT o.id,o.lng,o.lat,l.name FROM location as o left join linux as l on o.id=l.id WHERE ( (lng > 123) AND (lng < 124) ) AND ( (lat >